1
xiaoming1992 2021-05-05 20:43:16 +08:00 via Android
我怎么听不太懂?子页面是什么?怎么卡住?。。。
|
2
maloneleo88 OP @xiaoming1992 我外行,应该怎么形容呢。http://zq.win007.com/cn/subleague.aspx?sclassid=60
就是这种页面的 tbody 里的内容。 我用油猴 写入 window.onload=function(){}后 tbody 里的内容就永远在加载中 |
3
maloneleo88 OP 这应该是 js 动态生成的动态页面吧,怎么才能等这个 js 执行完了再执行我油猴里的脚本
|
4
dream4ever 2021-05-05 22:16:20 +08:00
@maloneleo88 最简单粗暴的方式,用 setTimeout 不断查询指定元素,有你需要的内容了,再执行具体脚本。
|
5
xiaoming1992 2021-05-05 23:07:23 +08:00
估计他的页面也是用的 window.onload, 所以你的 window.onload 把他的 onload 替换了。。。可以试试用 addEventListener
|
6
maloneleo88 OP |
7
maloneleo88 OP @xiaoming1992
@dream4ever 用三秒大法暂时对付了,老板们谁能贴个监听元素的代码呀。 因为动态页一刷新就没用了,暂时放了个调用函数的按钮。 如果能监听元素的话就好了,内容更新直接调用脚本 |
8
kid740246048 2021-05-06 03:03:14 +08:00
```
window.addEventListener('load', ()=>{console.log('ready')}) ``` 这样不就行了 |
9
Puteulanus 2021-05-06 10:47:44 +08:00
监听元素可以用 MutationObserver
|
10
512357301 2021-05-06 10:56:32 +08:00
@maloneleo88
这是我用的代码: window.onload = setTimeout(click_item,500); function click_item(){ if(document.querySelector('.xxx')){ //你的代码 }else{ //继续等待 setTimeout(click_item,300) //300 毫秒 } } |
11
maloneleo88 OP @512357301 onload 肯定是不行的。 我也不知道咋回事 , 加了界面就刷不全, 现在就用延迟 3 秒。还行 比较稳定
|