gpt4 book ai didi

javascript - 为什么我的 Firefox 插件在将 Firefox 更新到版本 50 后不起作用

转载 作者:行者123 更新时间:2023-12-03 05:36:23 25 4
gpt4 key购买 nike

我开发了一个附加组件,daneshLink ,已通过 Firefox 验证。用户安装并使用了此附加组件。这个插件可以工作,但是当 Firefox 更新到版本 50.0 时,这个插件就不起作用了。

(注意:更新 Firefox 后,插件并未被删除或禁用。它只是根本不起作用)。

var x = content.document.getElementsByTagName('html')[0].innerHTML;
var test = x.match(/>article Id:[0-9a-zA-z]/img);
var url = "> <a href=\"http://mysite.ir/index.jsp?articleID=";
for (var i = 0; i < test.length; i++) {
x = x.replace(test[i], url +">Download :" + test[i] + "</a>");
}
content.document.getElementsByTagName('html')[0].innerHTML = x;

最佳答案

您提供的代码不足以知道问题是什么,但我可以猜测。您很可能在迁移到多进程 Firefox 时遇到问题。事实上,这是一个 Overlay 插件,并且您对 content.document 的使用使得您可能没有将网页 DOM 的访问(使用工作线程)与主脚本分开。

最好将其重写为 WebExtension 。 , 如果可能的话。或者,您可以将其写为 Add-on SDK基于扩展。如果您确实需要将其作为 Overlay 插件,则可以在主脚本功能和访问 DOM 之间提供分离。但是,这样做并不像其他类型的附加组件那么方便。

也许可以通过指定以下方式使当前代码兼容更长时间:

<em:multiprocessCompatible>false/em:multiprocessCompatible>

在你的install.rdf中。这样做应该可以防止 Firefox 在安装扩展时启用多进程模式,或者至少使用 compatibility shims这可能足以让您的附加组件发挥作用。

我建议您阅读:

关于javascript - 为什么我的 Firefox 插件在将 Firefox 更新到版本 50 后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40715904/

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