2011-04-27 133 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

相关问题