5

「モーダルウィンドウ」を開くページがあります。それは実際には、別のページをロードする IFRAME を内部に持つ単なる DIV です。ページを更新したいとき、ブラウザーはウィンドウをポップアップ表示します。現在のページ。"

このメッセージはどのように生成されますか? JavaScript からの window.open() 呼び出しを使用していないため、ブラウザーはモーダル ウィンドウがあることをどのように認識しますか? ブラウザのこの動作を無効にする方法はありますか。

4

3 に答える 3

3

body.onunloadIFRAME に読み込まれたページのソースにある可能性があります。

モーダル ウィンドウは本質的に IFRAME であるため、メイン ウィンドウを閉じる (または更新する) と、ブラウザーはその IFRAME を強制終了していることを認識し、body.onunloadその IFRAME 内のすべてが起動します。

于 2009-01-28T14:36:31.443 に答える
1

onbeforeunload を処理する関数がある場合、自動的に Firefox メッセージが生成されます。

ハンドラの and で null を返すことで無効にできます。

于 2010-02-18T23:47:47.123 に答える
0

これは、一部のスクリプトがすべてのオフサイト リンクを変更してこのモーダル ウィンドウを表示し、モーダル ウィンドウとのやり取りに基づいてtrueを返すかfalseを返すことが原因である可能性があります。

その動作を取り除きたい場合は、外部リンクのすべてのクリック イベントを削除できます。

于 2009-01-28T14:36:47.230 に答える