gpt4 book ai didi

browser - Firefox Browser.get BrowserForTab 但没有 Browser.getTabFor 浏览器?

转载 作者:行者123 更新时间:2023-12-01 02:54:53 26 4
gpt4 key购买 nike

在 Firefox 扩展的 Javascript 中,您可以调用 gBrowser.getBrowserForTab但是没有gBrowser.getTabForBrowser .所以我写了自己的并且它有效,我只是好奇是否有任何理由我不应该这样做,或者代码是否有任何问题。以下是我的init窗口加载时调用的方法。

gBrowser.getTabForBrowser = function(browser) {
for (var i=0; i<gBrowser.browsers.length; i++) {
if (gBrowser.getBrowserAtIndex(i) === browser) {
return gBrowser.tabContainer.getItemAtIndex(i);
}
}
return null;
}

(或者应该是 gBrowser.prototype.getTabForBrowser = ... ?)

最佳答案

据我所知没有内置getTabForBrowser功能,所以你必须自己动手。但是,您的代码假定浏览器节点以与选项卡节点相同的 DOM 顺序存储。我不能肯定这个假设是否被打破,但考虑到标签可以被用户任意重新定位,这不是我所依赖的。

幸运的是,每个选项卡对象都有一个 linkedBrowser属性(property)。所以你可以像这样重写你的代码:

gBrowser.getTabForBrowser = function(browser) {
var mTabs = gBrowser.mTabContainer.childNodes;
for (var i=0, i<mTabs.length; i++) {
if (mTabs[i].linkedBrowser == browser) {
return mTabs[i];
}
}
return null;
}

关于browser - Firefox Browser.get BrowserForTab 但没有 Browser.getTabFor 浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3374056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com