我正在开发一个附加组件来安全地存储/检索信息,包括用户配置文件和密码(密码管理器的接口)。当弹出“需要授权”对话框时,我想确定URI,检查是否为该站点保留了用户配置文件/密码,如果是,则填充相关字段并提交对话框。
弹出窗口确实会触发xul-window-visible
和DOMWillOpenModalDialog
事件,因此我可以运行一个函数(在第二种情况下使用setTimeout
)。但是我找不到检查Popup属性的方法(例如标题),我无法修改用户名和密码。
下面的代码就我所知,我注意到内容脚本可以检查例如console.log(document.location.hostname);
的主机名,但尝试修改密码会导致失败,并且更改用户名会进入无限循环一个弹出窗口反复说明:
您即将使用用户名“hello”登录“fred.com”网站,但该网站不需要身份验证。这可能是一种欺骗你的尝试。
感谢任何帮助或提示
var winu = require('sdk/window/utils');
var CWin = winu.getMostRecentBrowserWindow();
CWin.addEventListener("DOMWillOpenModalDialog", function() {CWin.setTimeout(NfyBox, 500);}, true);
function NfyBox() {
worker = tabs.activeTab.attach({
contentScriptFile: self.data.url("notifybox.js")
});
worker.port.emit("notify");
}
self.port.on("notify", function() {
if ((document.location.username == "") && (document.location.password == ""))
{
document.location.username = "hello";
}
});