B站网页load事件为何多次触发?如何可靠地判断B站网页加载完成?

b站网页load事件多次触发及可靠加载完成判断方法

本文分析了油猴脚本在B站网页中window.addEventListener(“load”, …)多次触发load事件的问题,并探讨了可靠判断B站网页加载完成的策略。

B站网页load事件为何多次触发?如何可靠地判断B站网页加载完成?

问题现象: 油猴脚本使用window.addEventListener(“load”, …)监听B站页面加载,load事件却多次触发(最多三次),而window.onload仅触发一次。脚本注入时机为@run-at document-start,排除了浏览器版本等因素。

问题根源分析: 问题可能并非脚本本身,而是其他油猴脚本间接导致。其他脚本可能创建了iframe,iframe加载也会触发load事件,从而造成多次触发。建议暂时禁用其他油猴脚本进行验证。 如果问题源于iframe,则可在脚本中添加条件,避免在iframe环境中运行。

可靠加载完成判断: 单纯的load事件不可靠。 对于通过ajax加载的内容,load事件不会触发,需要额外判断。 建议使用以下方法:

MutationObserver: 监听DOM树的变化,判断页面关键元素是否加载完成。需要仔细设计监控策略,避免误判或性能问题。setInterval: 周期性检查页面状态,例如检查特定元素是否存在或页面内容是否达到预期状态。同样需要谨慎设计监控策略,避免性能损耗。

选择何种方法取决于具体需求和页面结构。 需要根据B站页面的具体DOM结构和加载机制,制定合适的监控策略,才能准确判断网页加载完成。 这部分需要更深入的分析和代码实现。

以上就是B站网页load事件为何多次触发?如何可靠地判断B站网页加载完成?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2794510.html

(0)
上一篇 2025年3月8日 19:48:09
下一篇 2025年3月8日 19:48:15

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论