如何在Internet Explorer 7中使window.open起作用?

5

在过去的三个小时里,我一直试图让我的SVG网站打开弹出窗口,但在Internet Explorer中,我总是遇到“拒绝访问”错误。我尝试了谷歌上找到的所有方法,但都不起作用。我甚至只是调用window.open()不带参数来打开空白页,仍然会收到权限被拒绝的错误。目前在Internet Explorer中打开弹出窗口的标准是什么... 有哪些方法可行?


大多数浏览器不允许您在没有用户触发的情况下以编程方式打开弹出窗口。如果这些弹出窗口不是直接由用户点击引起的,我认为您就没办法了。 - Michael Haren
这促使另一篇关于在http://stackoverflow.com/questions/459152/why-do-you-mark-a-post-offensive上正确使用冒犯性称号的帖子。 - DOK
1个回答

10
这是IE6中安全性变更的一部分。现在,你只能从用户启动的事件中调用"window.open"。例如,你的代码可以在元素的onclick事件中工作。"window.open" MSDN页面说道:

"该方法必须使用用户启动的动作,例如单击链接或切换到链接并按Enter键,以打开弹出窗口。Internet Explorer 6中的弹出窗口拦截程序功能会阻止未经用户启动的窗口。"


非常感谢您的解释!我想我只能想办法将其变成用户发起的事件。 - bluefear

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接