Angular2项目中浏览器拦截弹出窗口的解决方法
为什么把项目是Angular2的放到了前边?
因为正常也页面网上已经很多解决方案。请自行百度或Google。
现象:当window.open为用户触发事件内部或者加载时,不会被拦截,一旦将弹出代码移动到ajax或者一段异步代码内部,马上就被拦截了。
原因:这个属于浏览器设置,当浏览器检测到非用户操作产生的新弹出窗口,则会对其进行阻止。因为浏览器认为这不是一个用户希望看到的页面。
方案:
- 在异步调用之前,即service的then函数之前,声明变量。
let editorWindow = window.open();
- 在then函数里修改属性值
editorWindow.location.href = "http://www.baidu.com"
两句话,很简单。
附一个一般的处理方法:
《window.open浏览器弹出新窗口被拦截—原因分析和解决方案》
http://blog.csdn.net/u011159417/article/details/53692536
感谢您看到了这里,这里是结尾。如果对您有帮助,我深感欣慰。自己给自己做广告,不犯法吧?欢迎关注WeChat公众号
**微信公众号: 耐撕程序员
有资源
有想法
有技术贴
随手扫一扫
不吃亏不上当
大家一起天天向上
欢迎扫码关注相互交流**