我试图打开一个新的窗口,像这样:打开新窗口,镀铬
$('#wrapper').click(function() {
window.setTimeout(function() {
//alert('hi');
window.open("http://example.com", "ExternalLinks", "resizable=yes, scrollbars=yes, status=yes");
}, 1000);
});
这在Firefox,而不是在Chrome或Safari(到目前为止,我刚刚在Mac上测试过)。 alert()
适用于所有浏览器,所以似乎有某些东西阻止在Safari/Chrome中执行window.open
。此外,如果我删除了setTimeout
并且只调用了window.open
,那么它在所有3个浏览器中都能正常工作。这几乎就像window.open
与click
事件嵌套得太远,然后它在Safari/Chrome中不起作用。
所以,你知道,我有一个全闪存网站,我试图让外部链接在新窗口中打开,所以我正在读取URL中的哈希标记(例如htp:// example .com /#/ facebook /),如果它匹配某些项目,那么我打电话给window.open
打开一个特定的URL。我无法访问Flash源,或者我会在那里处理。
任何想法?
还值得注意的是,虽然Safari和Chrome有默认打开和打开这些严格的弹出窗口拦截器,并不是其他浏览器没有它们 - 这只是为其他浏览器它们要么是加载项,要么不是在安装时自动打开的。 – 2011-01-12 16:46:38