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日

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置