当用户关闭以前的选项卡时,XUL会获取当前选项卡编号
XUL get current tab number when when user closes previous tabs
我有一个插件在加载时侦听某个选项卡索引号,例如在 tabindex 3 中,但是如果用户关闭 1 或 2 或所有以前的选项卡,有没有办法知道 tabindex 3 现在是 1 或 2?
是的。索引将始终更新,以表示选项卡从左到右的顺序,从 0 开始。如果删除索引 0、1 或 2 处的制表符,则索引 3 处的原始制表符将位于 2。
您可以自己测试一下:
window.addEventListener("load", function () {
var container = gBrowser.tabContainer;
container.addEventListener("TabSelect", function () {
console.log("SELECT: " + gBrowser.selectedTab.linkedPanel
+ " - " + gBrowser.tabContainer.selectedIndex);
}, false);
container.addEventListener("TabClose", function () {
window.setTimeout(function(){
console.log("CLOSE: " + gBrowser.selectedTab.linkedPanel
+ " - " + gBrowser.tabContainer.selectedIndex);}, 2000)
}, false);
}, false);
这将侦听 TabSelect 和 TabClose 事件以显示它们的变化。setTimeout 是让选项卡关闭,因为事件在实际发生之前触发。
要对其进行测试,请打开 4 个选项卡并选择第 4 个选项卡。 打开控制台,然后关闭第一个选项卡之一。你会看到它发生了变化。
如果你需要一个更"唯一"的,你可以使用选项卡的linkedPanel ID来识别你想要的选项卡。尽管如果您将选项卡移动到其他窗口,这将发生变化。
相关文章:
- 我的单元测试选项是什么
- 如何更改bigquery API中的计费层选项
- 使用Javascript获取所选选项ID
- Selectize.js:如何对整数值的选项进行排序
- 通过js在新选项卡中有条件地打开url
- 按照选项卡索引的顺序循环一个jQuery选择
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- 无法在Ionic select中预先选择最后一个选项
- 如何在选项卡上定义属性'的主窗口对象
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 使用此选项选择父类内部的类
- CKeditor:更改对话框中的默认选择选项
- JQuery覆盖不更改单选选项
- 当用户关闭以前的选项卡时,XUL会获取当前选项卡编号
- 首选项.xul 和首选项.js之间的通信
- 在firefox中更改xul选项卡时获取当前url
- 如何添加事件侦听器时,页面加载使用xul为当前选项卡仅
- 如何在XUL浏览器中运行的脚本中从当前活动浏览器窗口/选项卡中获取URL(例如在侧边栏中)
- 如何识别浏览器元素[XUL/firefox]的选项卡关闭事件
- CustomEvent()到XUL选项卡-Firefox插件