Javascript 镀铬金丝雀29的弹出式鞋底?

Javascript 镀铬金丝雀29的弹出式鞋底?,javascript,google-chrome,popup,popup-blocker,Javascript,Google Chrome,Popup,Popup Blocker,如何在Chrome Canary 29中生成pop 另请参见GitHub上报告的问题: 免责声明:是的,pop-unders很烂。弹出窗口也是如此。事实上,我主张在为web设计时,根本不应该考虑windows,最好避免设置链接的target属性(顺便说一句,这在XHTML中是严格的)。无论如何,并不是所有的项目我都有最后决定权。通常,弹出窗口的规则如下: 如果在用户触发的事件之外执行window.open操作,它将被阻止,并显示给定的消息。通常,弹出窗口将作为单击事件的一部分透明地工作

如何在Chrome Canary 29中生成pop

另请参见GitHub上报告的问题:


免责声明:是的,pop-unders很烂。弹出窗口也是如此。事实上,我主张在为web设计时,根本不应该考虑windows,最好避免设置链接的
target
属性(顺便说一句,这在XHTML中是严格的)。无论如何,并不是所有的项目我都有最后决定权。

通常,弹出窗口的规则如下:

  • 如果在用户触发的事件之外执行window.open操作,它将被阻止,并显示给定的消息。通常,弹出窗口将作为单击事件的一部分透明地工作
  • 如果你想喝一杯,就让它
  • 如果您想要弹出窗口,只需在执行window.open(…)之后执行window.focus()


注意:目标属性仍将在浏览器中工作。不过,你不会希望在当前页面下弹出一个链接。

如果谷歌头目让这一切变得不可能,我也不会感到惊讶。对他们来说是的。
var w=window.open(…);window.focus()这在Chrome 27中甚至不起作用。请立即在开发人员控制台中尝试:
window.onclick=function(){var w=window.open('http://stackoverflow.com','StackOverflow','height=200,width=200');window.setTimeout(函数(){window.focus();},1000);}
在窗口内单击以进行测试:弹出一个窗口,但它不会进入后台。用户交互是防止弹出窗口拦截器进入的必要条件。
var w = window.open(...);
window.focus();