使 javascript 在 firefox 中的附加组件 javascript 之后执行?

Make javascript execute after javascript from add-on in firefox?

我最近安装了附加组件 leechblock,它会跟踪您在特定网站上浏览的时长,并在您超过为自己设置的限制时阻止您。

不幸的是,它在阻止网站时显示的页面非常难看,所以我开始制作自己的 html 页面来显示。在这个 html 页面上,除了很多其他内容之外,还有一个 link 可以让你回到你最初想去的页面(如果该块已经过期),它看起来像这样:

<a id="lbClickHereLink">back</a></br>

这个lbClickHereLink然后在附加代码中(在文件browser.js中)设置如下:

    // Update hyperlink to blocked page
    var clickHereLink = doc.getElementById("lbClickHereLink");
    if (clickHereLink != null) {
        clickHereLink.setAttribute("href", blockedURL);
    }

现在我也在其他环境中使用这个 html 页面(它基本上是一个待办事项列表),我认为只有这个 link 如果我实际上是从一个被阻止的页面到达那里的。 (否则它就是空的。)

所以我尝试了这个(在 html-文档中):

<script>
var leechlink = document.getElementById("lbClickHereLink");
if(leechlink.getAttribute("href") == null)
   leechlink.innerHTML = "";
</script>

但这不起作用,因为在加载 html 页面时,加载项中的脚本显然尚未执行。所以 link 永远不会存在。

所以我的问题是:

是否可以让上述脚本在执行完插件代码后执行?

关于授人以渔的旁注:我能否让 firefox 调试器向我显示页面上正在执行的所有 javascript 代码,而不仅仅是 html-文件?

由于沙箱中的插件脚本 运行 很难(但并非不可能)访问它可能更容易编辑插件并用更好的东西替换你不喜欢的 html 页面.

A​​ddon XPI 只是主要包含标准网络技术的 zip 文件,javascript、CSS、HTML/XML 模数一些特定于浏览器的代码。

如果你真的想在不修改插件的情况下做到这一点,你可以使用 mutation observers 来观察对 HTML 的更改,并在中查找特定于插件的 html 结构问题。

钓鱼:使用browser toolbox