如何避免浏览器拦截window.open()打开新窗口的问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2251个文字,预计阅读时间需要10分钟。
一、问题描述最近在项目开发中遇到了使用window.open打开新窗口时,被浏览器拦截的情况。尽管在本地环境中可以正常打开,但用户反馈无法通过拦截弹窗进行操作。
二、情况分析当遇到拦截时,用户无法通过拦截弹窗进行操作。
一、问题描述
最近在做项目的时候碰到了使用window.open被浏览器拦截的情况,虽然在自己的环境可以对页面进行放行,但是对用户来说,不能要求用户都来通过拦截。何况当出现拦截时,很多用户根本不知道发生了啥,不知道在哪里看被拦截的页面。因此必须通过代码来解决这个问题!
以下是浏览器拦截示例:
二、问题分析
浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了,即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所以被拦截。
三、window.open()语法
window.open(url, name, features, replace)
Arguments - 参数 url
可选字符串参数,指向要在新窗口中显示的文档的URL。如果省略该参数,或者参数为空字符串,新窗口不会显示文档。
本文共计2251个文字,预计阅读时间需要10分钟。
一、问题描述最近在项目开发中遇到了使用window.open打开新窗口时,被浏览器拦截的情况。尽管在本地环境中可以正常打开,但用户反馈无法通过拦截弹窗进行操作。
二、情况分析当遇到拦截时,用户无法通过拦截弹窗进行操作。
一、问题描述
最近在做项目的时候碰到了使用window.open被浏览器拦截的情况,虽然在自己的环境可以对页面进行放行,但是对用户来说,不能要求用户都来通过拦截。何况当出现拦截时,很多用户根本不知道发生了啥,不知道在哪里看被拦截的页面。因此必须通过代码来解决这个问题!
以下是浏览器拦截示例:
二、问题分析
浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了,即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所以被拦截。
三、window.open()语法
window.open(url, name, features, replace)
Arguments - 参数 url
可选字符串参数,指向要在新窗口中显示的文档的URL。如果省略该参数,或者参数为空字符串,新窗口不会显示文档。

