【发布时间】:2015-03-18 08:28:03
【问题描述】:
我在尝试从 Firefox 插件上下文覆盖 XMLHttpRequest 时遇到了一些麻烦。
我要重写此函数的原因是我想知道何时发出某个请求以触发我的一个事件。
我目前正在使用的 main.js:
pageMod.PageMod({
include: "*.example.com",
contentScriptWhen: "start",
attachTo: ["top"],
contentScriptFile: data.url("js/script.js"),
});
这里是 script.js
var oldOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function (method, uri, async, user, pass) {
alert("working");
oldOpen.call(this, method, uri, async, user, pass);
};
// This request is for an example purpose it is not in my real script
var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET", "", false);
xmlhttp.send();
我注意到,当我将 XMLHttpRequest 替换为 unsafeWindow.XMLHttpRequest 时,请求不再有效。
- 为什么这个脚本不能正常工作?
- 和我的插件范围有关吗?
感谢您的关心。
【问题讨论】:
标签: javascript firefox xmlhttprequest firefox-addon