用于阻止浏览器阻止弹出窗口的Javascript

时间:2015-05-08 06:54:57

标签: javascript html google-chrome

我正在使用此代码重定向到新标签:

<script type="text/javascript">window.open('http://example.com');</script>

但是当我在谷歌浏览器中运行时,它显示“POPUP BLOCKED”,它仍然在页面上。 那么如何通过添加javascript来阻止谷歌浏览器显示阻止弹出窗口。 我可以从我的计算机上停止这个,因为Chrome中有一个选项“ALWAYS ALLOW”,但如果我发布它,那么每个观众都不能这样做。

2 个答案:

答案 0 :(得分:3)

你不能&#34;停止&#34; Chrome就是这样做的,这就是弹出窗口拦截器的重点 实际上,你不应该首先尝试创建弹出窗口,人们会讨厌你。

新的标签页或窗口只应在用户操作后打开(其他所有内容正确地被阻止),因此最好的方法是创建一个简单的链接({{1 } {}与<a>

但是,如果我没有弄错的话,如果有问题的代码是从target="_blank"事件处理程序的上下文(以及其他一些事件处理器)运行的,那么实际上你可以在大多数浏览器中创建弹出窗口,例如{如果事件是用户事件(而不是脚本调度的事件),则{1}},但不是click之类的事物。) 因此,如果链接真的不够,请尝试类似

的内容
dblclick

这当然只有在用户点击该元素时才有效,但我可以向您保证,如果他们没有点击它,他们就不希望看到弹出窗口。

演示:Fiddle

答案 1 :(得分:0)

它被阻止,因为它是非用户启动的弹出窗口。没有办法解决我所知道的问题,也不应该

为什么你想打开一个弹出窗口,你还能做出哪些其他选择仍能达到你的目标?