#javascript #window #buffering
#javascript #окно #буферизация
Вопрос:
У меня есть программа на perl и javascript. Когда пользователь подтверждает действие, открывается новое окно. Я не хочу давать ему имя, поскольку каждый раз мне нужно новое окно, поэтому я использую соглашение об именовании _blank. Это работает. Затем это окно получает выходные данные от другого процесса. Пока он получает входные данные (это может занять некоторое время), любые последующие вызовы window.open с _blank работать не будут. НО — если я обновлю родительскую веб-страницу, тогда я смогу открыть новое окно, и я смогу продолжать выполнять это же обновление и иметь множество открытых окон, загружающих буферизованные входные данные из других процессов одновременно, что я и хочу. Я просто не хочу, чтобы пользователю приходилось выполнять обновление. Я также могу подождать, пока буферизация не будет завершена, затем я могу снова запустить подтверждение и откроется другое окно (обновление не требуется). Итак, я предполагаю, что эта проблема как-то связана с буферизацией.
Вот код:
$form_action = "<form name="myform" action="all.pl" method=get onsubmit='return confirmAction();window.open("about:blank","","menubar=false, scrollbars=yes, toolbar=false");' target="_blank"> <input type=hidden name=login value=$login>";
Некоторые веб-сайты каждый раз предлагают уникальное имя, но этот код запускается только один раз, если я не обновляю.
Ответ №1:
Я полагаю, что нашел ответ. Я могу добавить обновление javascript к событию onsubmit. Это работает. Это вызов location.reload(true).