window.open()被浏览器拦截的问题
2013-12-07 23:15
330 查看
window.open()被浏览器拦截的问题
最近用window.open()的时候,常常会被浏览器拦截,需设置为“始终允许显示”才能打开页面(如果是chrome,则会生成一个弹窗显示页面,且也会被拦截)。百思不得其解,后在网上找了很久资料才搞清楚,是浏览器的广告拦截功能在作祟:
1、 一般情况下,如果在js中调用window.open()函数去打开一个新tab页,浏览器会进行拦截,认为打开的是一个广告页。
2、 所以如果不想让浏览器拦截,可以将这个函数改为用户点击时触发,这样浏览器就认为是用户想访问这个页面,而不是你直接弹出给用户。
3、 即使是用户点击事件,如果在一次事件里调用多次window.open()函数,则只有第一次被当作正常打开,之后的还是会被当作广告页。
4、 如果在点击事件里有ajax调用,window.open()在回调函数里执行,则浏览器仍然认为是js调用并当作广告拦截。除非ajax设置为同步模式。
相关文章推荐
- window.open()被浏览器拦截问题汇总
- js window.open新打开窗口总是被浏览器拦截的问题
- window.open关于浏览器拦截问题分析及解决方法
- window.open关于浏览器拦截问题分析及解决方法
- 异步请求后根据结果window.open方式打开新页面,浏览器拦截弹窗问题
- 解决window.open被浏览器拦截的问题
- 使用window.open()方法打开新页面,被浏览器拦截问题
- window.open关于浏览器拦截问题
- window.open关于浏览器拦截问题分析及解决方法
- ajax请求响应中用window.open打开新窗口会被浏览器拦截的解决方式
- 解决弹出的窗口window.open会被浏览器阻止的问题(自定义open方法)
- 在Ajax回调方法中通过window.open方法下载文件被浏览器拦截的解决方法
- 解决$.Ajax等返回数据windows.open()跳转页面遭到浏览器拦截的问题
- window.open被浏览器拦截的解决方案
- window.open被浏览器拦截的解决方案
- 解决浏览器拦截window.open 的方法
- window.open()方法打开新的一页不被浏览器拦截
- window.open 浏览器拦截解决
- 浏览器拦截window.open的解决方案
- 解决弹出的窗口window.open会被浏览器阻止的问题