zqdlly 2021-06-07 17:09 采纳率: 47.1%
浏览 36
已结题

请问前端大神、js大神如何处理这种问题

有一个野蛮的网页,内置了一个window.onload,导致我无论用什么方法,都不能在适当的时机向这个网址注入我想注入的js。

我试过的方法有:

1我也写一个window.onload

2用油猴的// @run-at document-end等方法

3$(document).ready()

4addeventlistener

现在已知这个野蛮网页内置的window.onload里面要执行一个函数a(),而问题是我的脚本必须在a()执行后才能执行。我也尝试过直接在自己的脚本里执行a(),但仍难免会冲突

现在问题是:国内有没有一种可靠的方法,使我可以在检测到这个野蛮网页的a()执行后再注入我的js(钩子函数?)?或者换种思路,有没有办法选择性的禁止这个野蛮网页的window.onload事件?

补充一下,我找遍全中国的网页,试图找到和我面临的情形一致的window.onload冲突事件,可惜我失败了

  • 写回答

2条回答 默认 最新

  • tricolor_car 2021-06-07 17:42
    关注

    js是单线程脚本,你把你的脚本放到a() 之后再执行不就行了,或者在a()执行之后,然后创建script标签,动态加载js文件,或者使用setTimeout把你的脚本包起来就行了,js首先执行主线程a(),然后再执行setTimeout里面的内容

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月15日