解决方法
我认为如果Chrome没有用户操作,Chrome才会阻止window.open.例如,如果你有一个元素的onclick属性映射到一个函数…
function clickedButton() { window.open(...); }
这将工作.而这….
function clickedButton(){ setTimeout(function(){ window.open(...); }) }
不会.
所以是的,如果您能够以弹出窗口的方式设置应用程序仍然有用,以响应用户操作.
尽管如此,由于Jonathan.Brink提到的原因,通常打开新窗口是一个坏主意,我之前已经使用它们进行身份验证.例如,通过Facebook登录,需要使用他们的URL打开一个新的选项卡或一个新窗口(iframe不起作用).当它再次回到我的网站时,我关闭窗口,并使用新的登录信息更新(响应)的网站.关闭新标签感觉….很奇怪