作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个 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/
我是一名优秀的程序员,十分优秀!