我写访问HTTP验证对话框一个Firefox插件为Linux用户传递凭据NTLM身份验证sites.some类似什么AutoAuth这是使用XUL框架如何使用Firefox SDK
https://addons.mozilla.org/en-us/firefox/addon/autoauth/
写我的问题是如何使用Firefox SDK访问认证对话框?
我写访问HTTP验证对话框一个Firefox插件为Linux用户传递凭据NTLM身份验证sites.some类似什么AutoAuth这是使用XUL框架如何使用Firefox SDK
https://addons.mozilla.org/en-us/firefox/addon/autoauth/
写我的问题是如何使用Firefox SDK访问认证对话框?
使用附加sdk你没有XUL覆盖,所以只有你真的可以做的事情之外就是使用窗口监视器。由于弹出窗口被视为窗口,因此当您在浏览器中弹出时,您会在onTrack
函数中看到它们。
此示例代码监视窗口,查找窗口位置chrome://global/content/commonDialog.xul
,它与autoauth附件的功能类似。该对话框用于许多身份验证问题,因此您必须执行检测NTLM身份验证的额外工作。
var { isBrowser } = require("sdk/window/utils");
var delegate = {
onTrack: function (window) {
if (!isBrowser(window) && window.location === "chrome://global/content/commonDialog.xul") {
// this could be the window we're looking for modify it using it's window.document
}
},
onUntrack: function (window) {
if (!isBrowser(window) && window.location === "chrome://global/content/commonDialog.xul") {
// undo the modifications you did
}
}
};
var winUtils = require("window-utils");
var tracker = new winUtils.WindowTracker(delegate);
有了这段代码,你几乎可以在autoauth add-on的load()函数中找到它。您可以使用window.document.getElementById()
访问该窗口的DOM并更改其中的元素。
注意window-utils
模块已被弃用,因此您需要跟上SDK,因为他们从该模块移动到(希望)其他类似的东西。