当浏览器窗口打开时,显示来自Firefox扩展的警报
Show an alert from a Firefox extension when a browser window opens
我想做一个非常简单的Firefox扩展。我需要它在Firefox窗口打开时显示一个警告框。当我打开窗口时,该消息不会显示,但当我重新加载所有chrome(通过Extensions Developer Add-On)时,它会显示。
我的叠加文件:
<?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。清单文件:
content adTest content/ contentaccessible=yes
overlay chrome://browser/content/browser.xul chrome://adTest/content/adTestOverlay.xul
我很确定其余的代码是正确的,因为我已经添加了XUL元素用于测试目的,除了警告框之外,所有的东西都工作正常。
您不能在浏览器窗口实际加载和显示之前显示alert()
s,因为警报对话框必须具有完全初始化且可见的父窗口。但是,您的覆盖脚本将在加载/初始化期间运行…
浏览器控制台应该显示一个错误说NS_ERROR_NOT_AVAILABLE: Cannot call openModalWindow on a hidden window
(但事实证明,只有当alert
从load
事件处理程序中调用时)。
load
事件,然后给事件循环一个实际显示窗口的机会,例如
addEventListener("load", function() {
setTimeout(function() { alert("something"); }, 0);
});
还可以:
Services.prompt.alert(null, 'title of alert', 'alert msg');
代替null
,你可以提供window
,这将使窗口的模态和不可选择,而警报显示(就像普通警报)
相关文章:
- 您可以使用JavaScript和Firefox扩展来更改现有页面吗
- 如何在谷歌开发者控制台上为firefox扩展创建oAuth项目
- 无法在XUL Firefox扩展中获取TinyMCE的实例
- FireFox扩展对TinyMCE编辑器执行脚本注入
- Firefox扩展开发:如何在内容脚本中创建一个全局函数,以便其他加载的脚本文件可以访问它
- firefox扩展/如何访问动态创建的元素
- 将jquery添加到firefox扩展中
- 替换 nsICertificateDialogs 从 Firefox 扩展
- 在firefox扩展上观察并保存http请求
- Firefox扩展页面modonAtttach很慢
- 为什么我的firefox扩展javascript不能访问opener窗口,也看不到window.name
- Firefox扩展不适用于http://https://以外的URL
- 为什么我的 init() 函数没有运行?(安装 Firefox 扩展时自动添加工具栏按钮,但仅在首次运行时)
- 如何在 Firefox 扩展的 JavaScript 中的按钮背景中插入图像
- 开发Firefox扩展最简单的方法是什么
- 如何在mozilla firefox扩展中更改自定义工具栏按钮的颜色
- firefox扩展对$.ajax的调用不起作用
- 使用firefox扩展获取SSL信息
- 自动运行firefox扩展jpm
- 如何引用Firefox扩展的数据目录中的文件