我寫訪問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,因爲他們從該模塊移動到(希望)其他類似的東西。