gpt4 book ai didi

javascript - 当浏览器窗口打开时显示来自 Firefox 扩展的警告

转载 作者:行者123 更新时间:2023-11-30 10:14:25 26 4
gpt4 key购买 nike

我正在尝试制作一个非常简单的 Firefox 扩展。我需要它在 Firefox 窗口打开时显示一个警告框。当我打开窗口时,该消息不会显示,但当我重新加载所有 chrome(通过扩展开发人员附加组件)时,它会显示。

我的覆盖文件:

<?xml version="1.0"?>
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://adTest/content/alert.js" />
</overlay>

我的脚本文件:

alert("HI!");

我的 chrome.manifest 文件:

content adTest content/ contentaccessible=yes
overlay chrome://browser/content/browser.xul chrome://adTest/content/adTestOverlay.xul

我很确定其余代码是正确的,因为我添加了 XUL 元素用于测试目的,并且除了警告框之外的所有内容都正常工作。

最佳答案

您不能在浏览器窗口实际加载和显示之前显示 alert(),因为警告对话框必须有一个完全初始化和可见的父窗口。然而,您的覆盖脚本将在加载/初始化期间运行......

浏览器控制台应该显示一条错误消息说 NS_ERROR_NOT_AVAILABLE: Cannot call openModalWindow on a hidden window(但事实证明,只有当 alert 中调用时加载 事件处理程序)。

因此,首先等待 load 事件,然后让事件循环有机会实际显示窗口,例如

addEventListener("load", function() {
setTimeout(function() { alert("something"); }, 0);
});

关于javascript - 当浏览器窗口打开时显示来自 Firefox 扩展的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24680750/

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