您的位置:首页 > Web前端 > AngularJS

Angular2项目中浏览器拦截弹出窗口的解决方法

2017-07-24 14:13 302 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息