如何从Firefox加载项访问特定选项卡的fbcache历史记录?

如何从Firefox加载项访问特定选项卡的fbcache历史记录?,firefox,firefox-addon,firefox-addon-sdk,Firefox,Firefox Addon,Firefox Addon Sdk,我正在学习如何使用插件sdk(jetpack)构建Firefox插件。在最初的示例中,有一种非常清晰的方法可以访问所有打开的选项卡的选项卡对象 var widget = require("sdk/widget").Widget({ id: "mozilla-link", label: "Mozilla website", contentURL: "http://www.mozilla.org/favicon.ico", onClick: listTabs }); functio

我正在学习如何使用插件sdk(jetpack)构建Firefox插件。在最初的示例中,有一种非常清晰的方法可以访问所有打开的选项卡的选项卡对象

var widget = require("sdk/widget").Widget({
  id: "mozilla-link",
  label: "Mozilla website",
  contentURL: "http://www.mozilla.org/favicon.ico",
  onClick: listTabs
});

function listTabs() {
  var tabs = require("sdk/tabs");
  for each (var tab in tabs)
    console.log(tab.url);
}
从那里我可以添加监听器等等。我真正想要的是访问每个选项卡的历史记录,并查看它之前的页面或它之后的页面(如果存在)


我一直在走低谷,我已经了解了,但我并没有想出任何明确的方法来获得一个特定的标签历史。我缺少什么?

选项卡
模块返回的
选项卡
实例不允许我们执行此类高级操作,因此有必要访问与附加SDK选项卡关联的XUL选项卡对象。理想情况下,这将作为财产提供给我们(
xultab
any?)。由于情况并非如此,我们必须即兴发挥

Add-on-SDK选项卡的
id
属性支持跟踪关联的XUL选项卡。一旦我们有了它,选项卡的会话历史记录就在眼前了

const{getTabs,getTabId,getBrowserForTab}=require('sdk/tabs/utils');
const{activeTab}=require('sdk/tabs');
函数getXULTabFromId(id){
var tabs=getTabs();
返回选项卡。查找(函数(选项卡){
返回id==getTabId(tab)?true:false;
});
}
//假设以下代码在小部件的onclick处理程序中运行
var xultab=getXULTabFromId(activeTab.id);
var browser=getBrowserForTab(xultab);
var sessionHistory=browser.webNavigation.sessionHistory;
var count=sessionHistory.count;
对于(变量i=0;i
这是一篇很棒的paa博文,感谢您分享我在这里学到的很多伟大!谢谢你的帮助!