如何获取不同选项卡的实例,以便我可以存储变量/执行特定于各个选项卡的操作
How can I get instances of different tabs such that I can store variables / perform operations specific to respective tabs
注意:我正在使用GWT来构建Firefox扩展
假设我有一个在浏览器的不同 TAB 上运行的类:
class TabRoutine{
Element tab;
static int tabData;
public TabRoutine(Element tab){
this.tab=tab;
}
public void tabMethod(){
//Operation on tab
}
}
对于每个选项卡,我必须创建此类的一个实例,我想在选项卡关闭后销毁该实例。因此,每个选项卡都有一个与之相关的 int tabData。以下是我的做法:
我有与每个可用选项卡相关的文档元素(如果有帮助,我也有窗口对象)。因此,我决定使用
gBrowser.getBrowserForDocument(doc);
我的问题是这个浏览器元素对于选项卡是唯一的吗?我的意思是,假设我有 2 个带有文档 doc1 和 doc2 的选项卡。如果我将这些浏览器元素映射到 TabRoutine 的对象,每个单独的选项卡是否总是返回相同(且正确)的浏览器,以便我可以找到与之相关的对象?
请告诉问题的某些方面是否不清楚,我会详细说明。多谢!
是的
,每个<browser>
元素都与特定的选项卡相关联。但是,它不绑定到特定内容文档 - 可以将不同的站点加载到同一选项卡中。你可能希望在扩展启动时浏览gBrowser.browsers
集合。然后,您将侦听TabOpen
和TabClose
事件,以便在打开或关闭选项卡时收到通知(使用gBrowser.getBrowserForTab
方法获取与这些事件关联的<browser>
元素)。
相关文章:
- 存储JQuery中的选项值
- 如何在外部文件中存储谷歌地图选项
- 浏览器会话存储.在选项卡之间共享
- 存储值后,重复重新选择选择下拉菜单的第一个选项
- 如何使用复选框启用选项并通过本地存储进行保存
- 如何获取不同选项卡的实例,以便我可以存储变量/执行特定于各个选项卡的操作
- 错误:FS.Store.S3 您必须指定“存储桶”选项(meteor.js 和 s3)
- 具有多个浏览器选项卡/窗口的骨干网.js和本地存储覆盖数据
- 删除 localStorage,Chrome/Chromium 中选项卡的数据库存储
- 用于在 Chrome 扩展程序中存储用户数据的选项
- 如何在选择选项后立即从选择菜单中将值保存到本地存储?它不起作用
- 将用户选择的多个单选按钮选项存储在使用 ng-repeat(s)构建的角度 js 中
- 在重新加载代码段上设置 Bootstrap 当前选项卡,而不是在本地存储中存储最后一个选项卡
- 克隆 使用 javascript 选择选项并将它们存储在隐藏字段中
- 存储选择框的选项值并将其存储到变量中(通过逗号分隔的值)
- Jquery 使用本地存储记住上次选择的选项卡
- 如何存储谷歌浏览器扩展程序的首选项
- 为select控件中的每个选项存储一个数组
- 将javascript中不同选择的选项存储到数组中
- 将用户首选项存储在Cookie中