Запретить этой странице создавать дополнительные диалоги

В Firefox4 появилась новая функция → 【Запретить этой странице создавать дополнительные диалоги】

Но у меня также была проблема, когда я надеюсь, что диалоговое окно с предупреждением открывалось более одного раза.

Теперь появилась новая проблема ... как показано ниже ↓

1) I call the alert dialog more than once , and check the  
  【Prevent this page from creating additional dialogs】
2) I click a download button , My web application is down.... 

(событие моей кнопки ниже.... и поскольку оно не участвует в действии, поэтому я просто пишу исходный код клиента....)

Событие моей кнопки

getDownloadFile:function(){
    $('xform').submit();
}

Код моей страницы

<div style="display:none;">
    <form id="xform" action="down.do" method="post" target="xfra">
    </form>
</div>
<iframe id="xfra" name="xfra" src="/?scid=dummy.htm" style="width:0px;height:0px;visibility:hidden;"></iframe>

Надеюсь, кто-нибудь может мне помочь... спасибо...


person shenhengbin    schedule 26.07.2011    source источник
comment
Не могли бы вы воспроизвести это здесь, пожалуйста? У меня Firefox 5, и он не будет делать то, что вы говорите.   -  person Shadow Wizard Wearing Mask V2    schedule 26.07.2011
comment
Ну, я предполагаю, что FF4 просто полностью блокирует JavaScript, когда пользователь решает запретить этой странице создавать дополнительные диалоги - в таком случае все, что вы можете сделать, это попросить своих посетителей обновиться до Firefox 5, где этот плохой дизайн теперь исправлен.   -  person Shadow Wizard Wearing Mask V2    schedule 26.07.2011
comment
О, такая же ошибка, как и в FF4, когда я устанавливал FF5....или..   -  person shenhengbin    schedule 26.07.2011
comment
Вы получаете диалоговое окно при двойном нажатии первой кнопки в приведенной выше ссылке jsFiddle? Потому что я не получаю здесь такого диалога.   -  person Shadow Wizard Wearing Mask V2    schedule 26.07.2011


Ответы (2)


Я предполагаю, что $ в вашем коде означает, что вы используете jQuery (вы должны указать это в тегах, если это так).

Если вы не используете jQuery, то я мало знаю о селекторах других фреймворков. Однако, если это jQuery, ваш селектор неверен, он должен быть:

$('#xform').submit();

нет

$('xform').submit();

Поскольку вы используете PrototypeJS, приведенное выше неверно.

person Shef    schedule 26.07.2011
comment
Спасибо за ваш комментарий, я использую прототипы. - person shenhengbin; 26.07.2011
comment
@ Хорошо, тогда вышесказанное недействительно. Однако я попробовал ваш тестовый пример, и он отлично работает на FF 5. - person Shef; 26.07.2011
comment
вы можете создать другую кнопку и попытаться открыть [Запретить этой странице создавать дополнительные диалоги]. когда флажок установлен, проверьте его! затем вы можете снова исчезнуть с проблемы ... - person shenhengbin; 26.07.2011

Вот простое решение:

function myAlertMsg() {
   alert("Whatever message you want");
   location.reload(); /*This prevents the browsers pop-up disabler*/
}
person ReleaseRoger    schedule 11.02.2018