2011-04-27 103 views
1

我試圖在新窗口中打開一個jsp頁面。使用javascript window.open yeilds瀏覽器警告,在某些情況下(firefox)會默認阻止彈出窗口。有沒有解決方法(這不是一個惡意應用程序 - 它是一個內部用戶工具)?防止在瀏覽器中彈出窗口警告

+0

爲什麼需要在新窗口中?通過'window.open()'而不是像'target =「_ blank」'打開它的功能要求是什麼?根據您使用jQuery的問題歷史記錄,您是否也使用jQuery UI? – BalusC 2011-04-27 21:15:21

+1

如果它是一個內部工具,請讓用戶將其列入白名單。 – brianpeiris 2011-04-27 21:17:31

+0

我正在使用jQuery和jQuery UI。它只需在新窗口中(不管它是否是最佳選擇)。 – john 2011-04-27 21:18:24

回答

10

大多數瀏覽器在用戶操作(如單擊按鈕)觸發時不會阻止彈出窗口。例如,如果您的window.open JavaScript附加到按鈕的onclick事件中,瀏覽器將不會阻止它。另一方面,如果您嘗試顯示彈出式菜單而沒有任何用戶操作,則表示您運氣不佳。這正是令人討厭的廣告所使用的技術,所以瀏覽器無法區分您的應用和惱人的廣告。

+0

不幸的是需求是後者(沒有用戶操作) – john 2011-04-27 21:17:17

+2

@john如果只需要某種對話框而不一定是一個「真正的」彈出窗口,也許你可以使用這樣的jQuery對話框:http:/ /jqueryui.com/demos/dialog/ – kijin 2011-04-27 21:40:41

+0

@kijin你能解釋一下如何確保'window.open'被連接到一個按鈕的'onclick'事件上嗎? – 2016-09-03 00:33:20

相關問題