如何从 XUL 访问窗口对象?

发布于 2024-08-22 12:08:59 字数 173 浏览 8 评论 0原文

我正在尝试从 Firefox 扩展程序将 onLoad 事件设置到当前网页。我正在使用 gBrowser 对象,但我不确定这是否是最好的方法。我想为网页窗口设置一个 onLoad 事件,以便在页面加载后立即执行插件的某些操作。

提前致谢。

I'm trying to set an onLoad event to the current web page from a firefox extension. I'm using the gBrowser object but I'm not sure if this is the best way. I would like to set an onLoad event to the web page window to execute some actions of the plugin as soon as the page is loaded.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨落□心尘 2024-08-29 12:08:59

经过多次尝试,我找到了解决方案。假设我们有一个名为 pageLoaded函数,这是我们在网站完全加载后要调用的函数。现在,我们必须向 gBrowser 对象添加一个事件监听器来捕获 load 事件。

这里是代码:

function pageLoaded(){
    alert("the page has been loaded")
}

gBrowser.addEventListener("load", pageLoaded, true);

我建议在将扩展文档添加到 gBrowser 之前使用向扩展文档添加事件侦听器。结果将是这样的:

window.addEventListener("load", function () {
    gBrowser.addEventListener("load", pageLoaded, true);
}, false);

我希望这个解决方案对某人有用。

感谢您的阅读。

After several attempts I found a solution for this. Lets say we have a function called pageLoaded, which is the one we want to call when the website has been totally loaded. Now, we have to add an event listener to the gBrowser object to catch the load event.

Here the code:

function pageLoaded(){
    alert("the page has been loaded")
}

gBrowser.addEventListener("load", pageLoaded, true);

I recommend to use add an event listener to the extension document before to add it to the gBrowser. The result would be something like this:

window.addEventListener("load", function () {
    gBrowser.addEventListener("load", pageLoaded, true);
}, false);

I hope this solution will be useful for someone.

Thanks for reading.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文