Greasemonkey脚本(Firefox 21.0)中未定义获取GM_xmlhttpRequest

时间:2013-05-20 11:20:44

标签: javascript greasemonkey

这是我的代码:

// ==UserScript==
// @name        Test1
// @namespace   http://my_unique_namespace.com
// @version     1
// @include http*
// @grant       GM_getValue
// @grant       GM_setValue
// @grant       GM_log
// @grant GM_xmlhttpRequest
// @grant unsafeWindow
// ==/UserScript==

function testReq() {
    GM_xmlhttpRequest({    
      method: "GET",
      url: "http://www.google.com",
      onload: function(response) {
        alert(response.responseText);
      },      
      onerror: function(reponse) {
        alert('error');
      }      
    });
}
testReq();

GM_log("This works");

/*
Exception: GM_xmlhttpRequest is not defined
testReq@Scratchpad/1:15
@Scratchpad/1:27
*/

我的问题是,每次运行脚本时,我都会在代码示例的底部列出异常,但GM_xmlhttpRequest似乎正在运行(我成功获取了响应对象)。

为什么会发生这种情况?

谢谢。

更新:Windows 7 Professional 64位上的Greasemonkey 1.8

1 个答案:

答案 0 :(得分:-1)

这发生在大约1个月之前,在Fedora 17的google-chrome-beta.i386中。删除了测试版。已安装google-chrome-stable.i386。问题解决了。

今天针对chrome-stable的最新更新再次发生此问题。版本是27.0.1453.93。

运行GM_xmlhttpRequest的问题是手动安装到Extensions中的.user.js脚本。