javascript - 重定向特定选项卡 Firefox 插件

标签 javascript firefox firefox-addon firefox-addon-sdk

我正在为 Firefox 编写一个扩展。基本上通过使用 getElementsByClassName,我正在搜索特定的类,如果有任何命中,我将使用以下命令重定向页面: gBrowser.loadURI 问题是,如果我通过鼠标中键打开链接,该链接将在后台选项卡中打开。因此,如果该页面中存在任何符合上述类标准的点击,事件选项卡将被重定向,而不是免费选项卡,这是一种错误的行为。 所以基本上我想使用类似的 loadURI 函数,但对于特定选项卡,而不是当前事件选项卡。 除了 loadURI,我还可以使用 window.location = "http://www.google.com/ "。但不知何故,当我使用 window.location 时,ff 窗口中的每个按钮都会消失,就像全 View 一样。 您对重定向非事件选项卡有什么想法吗?

最佳答案

假设您正在使用这样的代码(似乎是这样,请无论如何提供您的代码以供将来引用):

function pageLoad(event) {
  var doc = event.originalTarget;
  if (/* doc matches class */) {
    gBrowser.loadURI(newURI, ...);
  }
}

addEventListener("load", function () {
  gBrowser.addEventListener("load", pageLoad, true);
}, false);

将监听器更改为如下所示:

function pageLoad(event) {
  var doc = event.originalTarget;
  if (/* doc matches class */) {
    gBrowser.getBrowserForDocument(doc).loadURI(newURI, ...);
  }
}

当然,最好进行一些错误处理。

参见 <tabbrowser> aka. gBrowser browser (那个 getBrowserForDocument() 返回)。

(我是凭内存做的;你可能需要稍微修改一下)

关于javascript - 重定向特定选项卡 Firefox 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18475985/

相关文章:

javascript - datepicker - 通过 datepicker 对象初始化时,onSelect 事件不会触发

html - 已调整大小的图像在 Firefox 上闪烁

java - org.openqa.selenium.InvalidArgumentException : Expected [object Undefined] undefined to be a string in Selenium

javascript - xmlhttprequest的error事件不应该有错误信息吗?

javascript - 从 Angular 服务获取最终数据

javascript - 通过原型(prototype)继承扩展ES2015

javascript - 了解 JavaScript 中的 HTML 字符串转义

javascript - Highcharts 渲染器 x 和 y 在 Firefox 与 Chrome 上不同

javascript - Firefox 插件将计算列出的 url 的点击次数

Javascript:如何循环浏览文档并更改几个单词?