JS中避免弹窗被拦截的变通方案

作者:木棉时间:2026-10-30 15:33:13浏览:441

本文介绍了一种在 JavaScript 中避免浏览器拦截 window.open 的变通方法。通过预先创建带有 target='_blank' 的锚点元素,动态设置其 href 属性,并调用 click 方法触发跳转,可有效绕过现代浏览器的弹窗限制。

JS中避免弹窗被拦截的变通方案

因此使用的代码如下:


onChange="window.open(this.options[this.selectedIndex].value,'_blank')"


但这种方式很容易被浏览器拦截。是否有更好的替代方案?


可以采用一种变通方法:


1. 在页面中创建一个锚点元素,例如:<a id="aa" target=_blank></a>


2. 通过 document.getElementById('aa').href 动态设置该锚点的 href 属性,值为 select 选中项的值:document.getElementById('aa').href=this.options[this.selectedIndex].value;


3. 最后模拟点击该锚点,触发跳转:document.getElementById('aa').click

作者最新文章