小编Ada*_*ock的帖子

'window.open'已被Chrome更改事件阻止

我试图在select元素上打开一个基于onChange事件的窗口,而不会被Chrome的弹出窗口阻止程序阻止.

这里证明了这个问题.

https://jsfiddle.net/yyfe0824/1/

<select class="dropdown-select" onChange="window.open('https://www.google.com');">
    <option value="uno">Uno</option>
    <option value="dos">Dos</option>
    <option value="tres">Tres</option>
</select>

<input type="button" onClick="window.open('https://www.google.com');" value="click me">
Run Code Online (Sandbox Code Playgroud)

window.open调用"单击我"按钮没有问题,但如果您尝试更改选择下拉列表,则chrome将阻止弹出窗口.

到目前为止,这个问题的答案已经特定于onClick事件.进行研究表明,如果Chrome检测到它不是通过某种处理程序触发的用户,Chrome会阻止弹出窗口,因此我特意尝试内联调用该函数,而不是使用其他命名函数.

这是window.open的预期行为,特别是onChange,如果有的话,是否有任何特定的解决方法?(除了首先将结构更改为点击事件.)

html javascript google-chrome onchange

3
推荐指数
1
解决办法
5095
查看次数

标签 统计

google-chrome ×1

html ×1

javascript ×1

onchange ×1