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

b站网页load事件多次触发及可靠加载时机判断详解

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

油猴脚本监听B站视频网页加载事件时,load事件可能多次触发,本文将分析原因并提供更可靠的网页加载完成判断方法。

问题:

使用window.onloadwindow.addEventListener('load', ...)监听B站视频网页加载事件,发现window.onload只触发一次,而addEventListener可能触发多次(例如三次),两者同时使用则触发次数更多。浏览器为Firefox,脚本注入时机为document-startiframe的存在可能导致多次触发,但iframe内容加载通常晚于load事件,因此需要更可靠的加载完成判断方法。

分析:

问题根源很可能在于其他油猴脚本。这些脚本可能创建了iframe,每个iframe加载都会触发load事件。建议屏蔽其他脚本进行测试,验证是否为干扰导致。 另一种方法是修改脚本,避免在iframe中运行。

更可靠的加载时机判断:

仅依赖load事件不可靠,建议使用以下方法:

MutationObserver: 监听DOM变化。当页面内容不再变化时,可认为页面加载完成。需要仔细设计判断条件,避免误判。

setInterval定时轮询: 设定合适的轮询间隔,并定义页面加载完成的条件(例如,检查特定元素是否存在或特定属性是否已设置)。 需谨慎选择轮询间隔和判断条件,平衡性能和准确性。

选择哪种方法取决于具体应用场景和性能要求。 这两种方法都比单纯依赖load事件更可靠,能更准确地判断B站网页的完全加载状态。

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

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月22日 06:51:06
下一篇 2025年12月22日 06:51:19

相关推荐

发表回复

登录后才能评论
关注微信