And*_*ris 5 javascript settimeout window.open requestanimationframe
document.querySelector('#ontime').onclick = function() {
setTimeout(() => {
window.open('https://www.google.com');
}, 1000);
};
Run Code Online (Sandbox Code Playgroud)
当用户点击超时 <= 1000ms(或 a Promise.resolve().then(...))后使用 window.open 时,它不会被浏览器阻止。
如果您使用超时> 1000ms 或 执行相同操作requestAnimationFrame,则弹出窗口将被阻止。
单击下面的链接可以获取包含 4 个案例的完整示例: https: //jsfiddle.net/kouty79/rcwgbfxy/
有人知道为什么吗?有相关文档或 w3c 规范吗?
| 归档时间: |
|
| 查看次数: |
866 次 |
| 最近记录: |