7

definiert ich eine Reference im folgenden Code userscript:Reference: GM_xmlhttpRequest nicht

// ==UserScript== 
// @name   ... 
// @namespace  ... 
// @description ... 
// @include  ... 
// @grant   GM_xmlhttpRequest 
// ==/UserScript== 

console.log(GM_info); 
try 
{ 
    console.log(GM_xmlhttpRequest({ method: "GET", url: "http://google.ca/", synchronous: true }).readyState); 
} 
catch (e) 
{ 
    console.log(e); 
} 
... 

Es erste Protokolle GM_info erfolgreich, meldet sich dann die Reference. (Ich benutze Firefox/Firebug.)

ReferenceError: GM_xmlhttpRequest is not defined

Warum bekomme ich diesen Fehler?

+0

kann nicht dupliziert werden. Was sind deine Spezifikationen? (OS, FF-Version, GM-Version, etc.) Dies ist höchstwahrscheinlich auf einen ungültigen Metadatenblock zurückzuführen. –

+0

Win7 SP1 X 64, FF 21,0, GM 1,9. Der Metadatenblock stammt aus [dieser Datei] (https://ninjaecho.codeplex.com/SourceControl/latest#ninjaecho.user.js), wobei nur '@ grant' geändert wurde. –

+0

Getestet auf demselben System (weniger SP1). Kein Problem gefunden. Hat Ihr Metadatenblock führende Leerzeichen? Ist die Datei in ANSI oder UTF kodiert? Fügen Sie das * exact * -Skript ein, das das Problem dupliziert. Führen Sie Schritt 4 aus [diese Antwort] (http://stackoverflow.com/a/16315994/331508) aus. –

Antwort

4

Neuinstallation des Skripts behob das Problem. Ich musste Firefox nicht neu starten, aber es kann für andere Leute hilfreich sein. Brock's answer hat hilfreiche Debugging-Tipps für solche Probleme.

0

hatte ich das gleiche Problem, und für mich, was regelte es war dies an der Spitze hinzu:

// @grant  GM_xmlhttpRequest 
Verwandte Themen