gpt4 book ai didi

google-chrome-extension - Chrome 扩展 - 覆盖 .js 文件

转载 作者:行者123 更新时间:2023-12-04 17:12:10 25 4
gpt4 key购买 nike

有一个网站在 JS 文件中有一定的 bug。 JS 文件仅在一处被引用:

    <script type="text/javascript" charset="utf-8" src="/r/js/no-closure/dialogs.js?v=2"></script>

我已经下载了 JS 文件并修复了错误。有什么办法可以通过 chrome 扩展覆盖 /r/js/no-closure/dialogs.js和我的 dialogs_fixed.js ?

我试过(在 background.js 中):
var script = $('[src*="dialogs.js"]');
script.attr("src", "dialogs_patch.js");

没运气。

最佳答案

你不需要为此使用实验性的 webRequest,你可以只使用 beforeload 事件。
像这样的东西应该工作......

String.prototype.endsWith = function(pattern) {
var d = this.length - pattern.length;
return d >= 0 && this.lastIndexOf(pattern) === d;
};

document.addEventListener('beforeload', function(event) {
if (event.url.endsWith("/r/js/no-closure/dialogs.js?v=2")){event.srcElement.src=chrome.extension.getURL("dialogs.js");}
}, true);

..将其放入针对您感兴趣的页面的内容脚本中。
并确保在页面加载之前加载此内容脚本,方法是添加...
"run_at" : "document_start"

...到您的内容脚本字段....

http://code.google.com/chrome/extensions/content_scripts.html

编辑
尽管如此,应该注意的是,从 Chrome 17 开始,Web 请求 api 不再是实验性的,并且是一种很好的重定向方式。

关于google-chrome-extension - Chrome 扩展 - 覆盖 .js 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7931565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com