jquery – 浏览器如何区分用户点击和程序化点击之间的区别?

前端之家收集整理的这篇文章主要介绍了jquery – 浏览器如何区分用户点击和程序化点击之间的区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我启动了一个jQuery的window.open(),它被阻止的弹出窗口拦截,如果我手动单击该窗口不被阻止.两者之间的浏览器不同?

解决方法

Firefox的实现在 this bug上进行了详细的讨论,this other bug有一些更有趣的背景,包括什么长度的网站将通过,以防止不需要的弹出窗口在不知情的用户(在这种情况下:调用window.open()从在图像加载事件中).如果您在Bugzilla周围搜索,您会发现Mozilla的用户花了好几年时间才能正常工作,例如 here’s a bug from 2001.

它的工作原理是这样的:当Firefox从操作系统接收到一个点击事件时,一段时间内window.open()被启用了JavaScript(在…中查找dom.disable_open_click_delay:config).如果您从代码调用click()事件,而没有用户点击发生,那么第一步,window.open()的启用永远不会发生,尽管对window.open()的调用本身将成功通过to stop sites detecting that you have popup blocking enabled.

我不知道其他浏览器如何实现这些东西,但是如果它有很大的不同,这将是令人惊讶的.

原文链接:https://www.f2er.com/jquery/180552.html

猜你在找的jQuery相关文章