百度云改版之后,有没有一个统一的好用的方法可以让脚本在全部页面加载完再执行
$(document).ready() 是在 DOMContentLoaded 运行。
window.addEventListener('load', run, false); 在 chrome 无效,这是 Tampermonkey 的 bug,它并不在 load 运行而在 DOMContentLoaded 运行。
可选的方法很多
1、可使用 setInterval 或 setTimeout 不断循环直到找到那个对象。
2、还可使用 MutationObserver 监视器,监控对象插入后再执行代码。
百度云改版之后,有没有一个统一的好用的方法可以让脚本在全部页面加载完再执行
如题,百度云改版了,经测试
@run-at document-end
$(document).ready()
在firefox,chrome下均无效
window.addEventListener('load', run, false);
$(window).load();
在firefox下能用,chrome下无效
window.onload=function(){}
似乎要加上@grant none 有一定安全问题,不能用gm的api,不能@ require
但是在firefox和chrome下均能用
等待网页全部加载完再执行脚本有个问题,就是太慢了,可能导致用户以为脚本失效。