JS window.open()拦截问题解决方案

JavaScript016

JS window.open()拦截问题解决方案,第1张

使用js跳转的过程当中遇到了window.open()被chrome内核的浏览器拦截的问题。 出于安全考虑chrome浏览器会拦截掉非用户操作的行为,比如直接使用js跳转链接,这个行为不是用户的直接行为就会被chrome浏览器屏蔽掉。 比如我有一个click的事件 window.open()不是第一个执行的方法,它就会被屏蔽掉。 解决方案很简单,执行函数的时候,比如click,让window.open()先执行,打开一个空的窗口 然后再执行 在新打开的窗口当中读取网页内容。 这样就可以打开新窗口,并且不被chrome拦截了。

常规页面location.href跳转被阻止时,不涉及前端部分。

也有可能是浏览器本身对于http和https的证书验证拦截,并非bug。

以下为https在大部分浏览器标识。

部分浏览器会因以下原因阻止页面的重定向。