在Chrome扩展中使用Jquery如何保证执行顺序?
例如,网页会有如下代码:
$(document).ready(function() {
web()
});
我希望在确保web()已经执行的情况下再执行我的自定义函数,该如何实现?望大神赐教,谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
例如,网页会有如下代码:
$(document).ready(function() {
web()
});
我希望在确保web()已经执行的情况下再执行我的自定义函数,该如何实现?望大神赐教,谢谢
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
你是想问怎么在页面原生的脚本执行完再执行植入的 content script 吧?
Chrome 的 Content Script 有一个 run_at 属性可以配置
https://developer.chrome.com/extensions/content_scripts
即使是 document_idle,应该也没有办法精确捕获到原生的脚本是否已经执行完了,所以有一个可行的方法就是手动进行检测,
脚本抛入后就运行一个检测方法,第隔一段时间执行一次(比如:100ms),检查是否已经定义了某个全局变量,或者某个期望的节点是否存在,如果满足标志条件,结事定时器,执行你的植入代码的逻辑。
可以参考一个 SO 上的这个回答
在web函数里面执行你的函数就可以了吧,或者你这个在web()写回调,然后在回调里写你的自定义函数。
把你的自定义函数作为参数传给web,web函数执行完相关代码后再执行回调函数
$.when可以看看