Ada*_*ock 3 html javascript google-chrome onchange
我试图在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,如果有的话,是否有任何特定的解决方法?(除了首先将结构更改为点击事件.)
这是设计,浏览器不阻止的唯一时间window.open是您处理click事件.
我的建议是提供一个链接,当用户从下拉列表中选择时,该链接会发生变化.
我建议不要打开弹出窗口,因为当你从下拉列表中选择时,用户不希望弹出窗口,这就是弹出窗口阻止程序通常不允许这样做的原因.即使您在浏览器中找到可以使用的内容(在Firefox 中为https://jsfiddle.net/yyfe0824/5/),它也可能在将来中断.
| 归档时间: |
|
| 查看次数: |
5095 次 |
| 最近记录: |