使javascript在firefox中的插件javascript之后执行



我最近安装了附加的水蛭块,它可以跟踪你在特定网站上浏览的时间,如果你超过了自己设置的限制,就会阻止你。

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

<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页面(它基本上是一个待办事项列表),我认为如果我真的是从一个被阻止的页面上获得这个链接,那么只有这个链接会非常好。(否则它就是空的。)

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

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

但这不起作用,因为在加载html页面时,插件中的脚本显然还没有执行。因此,这种联系永远不存在。

所以我的问题是:

在执行了加载项中的代码后,是否可以让上面的脚本执行

教一个人做一件事:我能让firefox调试器向我显示页面上正在执行的所有javascript代码,而不仅仅是html文档中的代码吗?

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

AddonXPI只是zip文件,主要包含标准web技术、javascript、CSS、HTML/XML模块化的一些浏览器特定代码。

如果你真的想在不修改插件的情况下完成这项工作,你可以使用突变观测器来观察HTML的变化,并寻找特定于所讨论插件的HTML结构。

对于钓鱼:使用浏览器工具箱

最新更新