Перезагрузить и закрыть
Здравствуйте! Подскажите, как добавить в кнопку функцию перезагрузки окна перед закрытием. Простите, вообще не бум-бум, но весьма срочно надо. :)
<input type="button" value="Закрыть" onClick="window.close();" /> |
<input type="button" value="Закрыть" onClick="location.reload();window.close();" /> |
В этом случае происходит только закрытие.
Есть вот отдельная работающая перезагрузка. Как можно их вместе связать? <input type="button" value="Перезагрузка" onClick="ReloadButton()"> <script> function ReloadButton() { location.href=""; } </script> |
logi,
Пробуйте так: <script type="text/javascript"> Myhash='#%%%%%%%%%%%%%%55' if(location.hash==Myhash)window.close(); function ReloadButton() { location.hash=Myhash; location.reload(); } </script> <input type="button" value="Перезагрузка" onClick="ReloadButton()"> |
Не работает.
|
logi,
У меня в Опере работает Пример - http://hostjs-mybb2011.narod.ru/faiko2.htm |
Deff, в FF не робит window.close() в таких случаях...
|
Цитата:
|
lord2kim,
Ну там нун настраивать настройки приватности, В ИЕ так - браузер спрашивает Вообще закрывать без полиции браузера можно лишь открытые скриптом окна |
Цитата:
|
[quote=Deff] http://hostjs-my
Цитата:
Еще для информации. Закрываемое окно является дочерним, открытым скриптом из родительского. Закрытие дочернего с перезагрузкой родительского - этого сколько хочешь, а этот случай вынудил обратиться к вам. |
Цитата:
Цитата:
Цитата:
|
<body onbeforeunload="return 'закрыть это окно'"> <button>click</button> <script> document.body.children[0].onclick = function () { var win = window.open(); var str = '<body onbeforeunload = "return \'закрыться этом вслпывающему окну?\'">'; str += '<button onclick="location.reload();alert(\'закрываемся\'); window.close();">reload & close</button>'; win.document.write(str); } </script> |
Цитата:
Собственно, вот тема и начало обсуждения этого с автором хака: http://vbsupport.org/forum/showthrea...699#post396699 |
logi,
делайте сабмит с отправкой ответа в скрытый фрейм - и будет щастье http://htmlbook.ru/html/form (см target |
Цитата:
|
logi,
Собственно ничего сложного в отправляемой форме - прописываете изначально target <form target="имя окна">...</form> Где "имя окна" - имя пустого- скрытого заготовленного фрейма Пример: <div style="display:none"> <iframe name="myifarame" width="0" height="0"> </div> <form ... target="myifarame">...</form> Результаты отправки формы будут возвращены во фрейм |
Не понимаю (( Каким должно быть имя окна? Куда здесь кнопочку закрытия прописать..?
|
logi,
Ну смотрите на демо в таргет формы - прописано имя скрытого фрейма => myifarame |
Цитата:
|
Deff, так это в родительскую страницу прописывать или в дочернюю? В какое место? Что вместо многоточий?
|
Цитата:
- Дочерней страницы - не будет - она будет во фрейме Вы сказали - при отправке формы возникало дочернее окно - с ним и проблемы - мну предложил заменить дочернее окно -фреймом |
bes, код встраиваю, но такого, как на примере, не происходит. Что не так делаю? Объясните на пальцах, пожалуйста.
|
Deff, прошу добить меня ))
Скрипт кнопки, открывающей дочернее окно, выглядит так: <script type="text/javascript"> <!-- var newpost_attachmentbit = '$newpost_attachmentbit'; vB_Attachments = new vB_Attachment('attachlist', '$editorid'); $attachment_js document.write('<input type="button" id="manage_swfattachments_button" class="button" tabindex="1" style="font-weight:normal" value="$vbphrase[kr_swfattachment_multiupload]" title="$vbphrase[kr_swfattachment_upload_swfuploader]" onclick="vB_Attachments.open_window(\'swfattachment.php?$session[sessionurl]$attachurl&poststarttime=$poststarttime&posthash=$posthash\', 600, 600, \'$postid\')" />'); //--> </script> Как встроить это в предлагаемое вами? |
logi,
Мну предлагает вернуться к изначальному вопросу - я плясал от него - зачем Вам открытие окна на новой вкладке ? Откройте его фреймом по кнопке, на текущей странице (оформить можно так же, как якобы модальное окно - тень, затенение и всё такое) |
Цитата:
|
bes,
Всё получаецо - ток не юзабельно - посколь Вопросы брауза портят всю малину - нун плясать от исходного, - 'Зачем open window' |
Deff, в примере вопросы возникали как проверка ухода со страницы (для проверки, что перезагрузка произошла и чтоб сразу не закрылось окно, иначе было бы не заметно, что произошло), а при закрытии дочерних окон созданных в исходном коде вопросов вроде не возникает, возникают только при закрытии исходного окна (и то только в IE вроде, в FF вообще не работает), а это вроде ему как раз не нужно (у него дочернее нужно закрывать, если, конечно, я правильно понял, что при текущем треде не факт :) ).
|
Deff, bes, ребята, ну пропишите же в ваши варианты сами то, что нужно, пожалуйста. Чтобы я только скопипастил (а что делать, обучаться придеца после..)). Я же дал вам все коды...
|
Цитата:
|
Цитата:
Из того, что представлено, лично мне не понятно, что там происходит (вы прописываете в исходный документ кнопку, а наверное хотели бы открыть дочернее окно с этой кнопкой, если так то сначала создаёте окно (например, win = window.open()), а потом записываете код этого окна, в том числе и кнопку с обработчиком (win.document.write('код кнопки и т.п') в обработчик этой кнопки и добавляете location.reload(); window.close()) Ну или так как открываете страницу в этом всплывающем окне, то код этой страницы уже может содержать кнопку с обработчиком из location.reload(); window.close(), тогда вообще ничего не нужно |
Цитата:
Из того, что я дал - это скрипт кнопки, который открывает второе окно (загрузка вложений). Что еще нужно было? Ваши элементарные (для вас) вопросы и термины наталкиваются на мое непонимание, поэтому и прошу, если можно, живые примеры скриптов, которые я смогу встроить и посмотреть. Простите, если что не так. :) |
Цитата:
Есть окно, в него загружена исходная страница, из неё по нажатию (или может быть как-то по-другому) открывается другое окно, в которое загружается страница со вложением (что за вложение тоже не понятно). Надо сделать то-то и то-то, то есть ещё раз подробно опишите процесс, а то долго уже тут говорим, толку мало (я так толком и не понял, что нужно, Deff, не знаю, наверное понял :) ) |
весь процесс, можно посмотреть прямо здесь, на этом форуме
переходим в расширенный режим ответа по кнопке "ответить" или "расширенный режим" там есть такая кнопка "Управление вложениями" когда клацаем на нее, открывается другое окно с формой загрузки файлов после загрузки файла в дочернем окне, в родительском обновляется список загруженных файлов мой скрипт так же открывает новое окно, но там нет формы загрузки файлов <form>, там пхп скрипт подгружает SWFUploader, который грузит несколько файлов одновременно с отображением статистики загрузки, как то: процент залитого на сервак, прогресс бар и прочие плюшки так вот, суть в том, что в обычном загрузчике воблы, после загрузки файла, дочернее окно обновляется и в родительском появляется загруженный файл (список) в моем скрипт дочернее окно нЕ обновляется, и что бы появился список загруженных файлов, я ничего не смог придумать, как поставить костыль из фейк-сабмита формы со списком загруженных файлов вызов сабмита идет в одном из файлов библиотеки SWFUpload-а - handlers.js можете глянуть сорс страницы расширенного ответа и страницы загрузки, там есть все, что бы понять как это работает =) |
Это похожий Вариант решения ?
<script type="text/javascript"> <!-- function Klick(c) { var b = document.getElementById('wrpFrame').style; var a=document.getElementById('form_frame'); if(c.alt==0){c.alt=1;c.value="Закрыть" a.src=a.getAttribute('data'); b.display='block'; }else {a.src='';b.display='none';c.value="multiupload";c.alt=0;} } document.write('<input type="button" value="multiupload" alt="0" onclick="Klick(this)" />\ <div id="wrpFrame" style="display:none">\ <iframe id="form_frame" width=900 height=600 name="form_frame" src="" data="http://uploads.ru/"></iframe>\ </div>'); //--> </script> |
Пояснения - открываете свою форму загрузки во фрейме - производите нужные действия - закрываете
* можно открыть повторно; |
Хочу вернуться...
<input type="button" value="Закрыть" onClick="location.reload();window.close();" /> В этом случае окно просто закрывается. Может из-за того, что не успевает сработать первое? А если прописать временной интервал задержки выполнения второй функции..? |
logi,
Чем фрейм не понравился ?(В чем сомнения ? По любому действия с вкладкой упираюца в origin policy |
Про фрейм kerk скажет, он у нас начальник :)
|
Цитата:
Цитата:
Если будете прописывать после открытия дочернего окна document.write, то он просто уничтожит (перепишет) страницу, поэтому страницу лучше поместить во фрейм, кнопку в форму, по нажатию будет submit и перезагрузка. <button id="but">click</button> <script> document.getElementById('but').onclick = function () { var win = window.open('index4.htm'); var address = 'http://javascript.ru/'; var str = '<body onbeforeunload = "return \'закрываемся\'">'; str += '<iframe width="100%" height="50%" src=' + address + '></iframe>'; str += '<form параметры><input name="submit" type="submit" value="click"></form>'; win.document.write(str); } </script> |
Часовой пояс GMT +3, время: 21:17. |