任何限制 Mozilla 附加组件 SDK 中页面模组目标的方法
Any way to restrict targets of page-mod in Mozilla Add-On SDK
我目前正在使用SDK开发Firefox附加组件,该SDK以特定方式修改页面的文本内容。 但是,我遇到了以下问题。
假设我有 2 个选项卡,这两个选项卡都加载了相同的站点。 该网站有多个iframe,有些是跨域的。 我只需要更新当前选项卡中的页面。
如果我使用 tab.attach() 将工作线程添加到选项卡中,我可以将我的内容更改代码注入该选项卡,这样一切都很好。 除非它不影响 iframe。
为了进入 iframe,我必须使用 PageMod 使用如下所示的内容:
tabs.on('ready', function(tab) {
pageMod.PageMod({
include: tab.url,
contentScriptFile: self.data.url('./pagemod.js'),
attachTo: ["top", "frame", "existing"],
onAttach: function(worker) {
worker.on('message', function(msg){
me.handleMessage(msg);
});
tracker.workers.push(worker);
}
});
}
});
它工作正常,因为它将工作线程附加到框架以及顶部文档,因此我可以将我的代码注入到所有这些框架中。 但是,它也会影响我在第二个选项卡中打开的另一个页面,因为它具有相同的URL。
有什么方法可以将页面模组效果限制为仅当前选项卡吗? 我没有发现任何明显的东西,但也许我只是看了太久了。
谢谢!
每个选项卡都有一个 id,您可以随时通过这种方式访问当前活动选项卡。因此,在onAttach
属性中,您可以执行if tab.id == tabs.activeTab.id { doSomethingElse(); }
。
相关文章:
- 任何一种简单的方法都可以将带有onload的元素作为目标
- 如何从目标C中的stringByEvaluatingJavaScriptFromString:方法执行长javascri
- 有没有一种方法可以撤消目标上的函数
- 任何限制 Mozilla 附加组件 SDK 中页面模组目标的方法
- 在 startPage 方法上从目标 C 获取 HTML5 本地存储项
- jquery AOP:使用相同的建议为相同的方法名称定义多个目标
- 在ANTLR4(javascript目标)中使用访问者的正确方法
- 有没有一种方法可以根据包含整数的最接近属性来确定项目的目标
- jQuery:.load()方法替换目标选择器内容或将其附加到其中
- 使用javascript将Iframe作为目标,并在内部使用GET方法的php
- 将目标传递给 js link() 方法
- 是否有一种方法,目标所有的img标签与0x0大小,并在jQuery中删除它们
- 如何使用get方法获取表单的完整目标url
- 简单的方法使用getElementsByTagName来改变表单目标
- 为什么javascript触发提交表单(方法get,目标空白)打开弹出窗口而不是新选项卡
- 有没有更好(更明智)的方法来实现同样的目标
- 向drupal服务器发送JSON会导致无效方法;在目标C中
- 是否有一种方法可以对多个委托目标使用jquery的委托事件处理程序签名?
- changePage在目标页面java脚本文件中调用方法
- 确定事件目标是否是已知元素的子元素的最有希望的方法是什么?