我怀疑自己错过了一些东西,但是对于没有运气的解决方案或替代方案我看起来很高......
我有一个Greasemonkey脚本(我不想复制粘贴整个文件),当我添加行// @grant GM_xmlhttpRequest
时,它不会运行。作为一个测试我向IITC添加了相同的一行(我系统中为数不多的一个关键的程序),它也无法加载。与Greasemonkey 2.3&失败3.0,运行Firefox 36.0.1。我在浏览器控制台中没有收到任何错误消息。
我的脚本在调用XMLHttpRequest open函数(this.addEventListener("readystatechange", function() {
,(function(open) {
)和"截取"时添加一个监听器(XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
)。收到的数据并将其发送到我自己的本地网络服务器上进行记录。该脚本似乎贯穿.js文件中的代码,但是侦听器永远不会执行。我唯一能想到的是脚本中的代码按预期执行,但是当从侦听器运行时它在.js文件的上下文之外运行,但在这种情况下我希望看到一个函数未定义错误
这就是我提出要求的方式:
GM_xmlhttpRequest({
method: "POST",
url: "http://10.0.0.149/cgi-bin/test.py",
data: "logdata=logthis",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
});
当取出@grant
行时,脚本正常运行(并正确登录到控制台),除了我得到一个未定义的函数错误(正如预期的那样)。
console.log("LogData: " + this.responseText);
基本上我想要一行代码来替换我可以将responseText
发送到家庭网络上的日志记录服务器的代码(我还考虑使用代理来完成工作!)。