gpt4 book ai didi

javascript - 如何确定 Firefox 中的所有选项卡均已加载?

转载 作者:行者123 更新时间:2023-11-28 21:20:20 27 4
gpt4 key购买 nike

我正在编写一个 Firefox 插件,我需要能够在加载所有选项卡后运行一些代码。

我尝试过类似的方法:

window.addEventListener("load", function(e) { 
gBrowser.addEventListener("load", function(ee) {
// code to run after all tabs have loaded

// thank user for installing my add-on
alert('Thank you for installing my add-on');

// add tab to my website
gBrowser.selectedTab = gBrowser.addTab("http://www.mywebsite.com/");

}, true);
}, false);

但这不起作用,因为这将在加载后运行每个选项卡的代码。我想等到所有选项卡都加载完毕。我想在用户安装我的附加组件后 Firefox 重新启动时打印一条警报消息。我还想向我的网站添加一个新标签。

我该怎么做?

最佳答案

我猜您的意思是等到浏览器启动时 session 恢复。您可以通过观察者服务收听发送的 sessionstore-windows-restored 通知。像这样的事情:

Cu.import("resource://gre/modules/XPCOMUtils.jsm");
var observer =
{
QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsIObserver]),
observe: function(subject, topic, data)
{
observerService.removeObserver(observer, "sessionstore-windows-restored");
addTabNow();
}
};

var observerService = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
observerService.addObserver(observer, "sessionstore-windows-restored", false);

关于javascript - 如何确定 Firefox 中的所有选项卡均已加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6543691/

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