bus*_*ver 2 javascript greasemonkey
我无法让我的Greasemonkey脚本工作......
GM_registerMenuCommand("What's My IP Address?", function(){
GM_xmlhttpRequest({
method: "GET",
url: "http://tools.ip2location.com/ib2",
onerror: function(oEvent){ alert("Error " + oEvent.target.status + " occurred while receiving the document."); },
onload: function(response){
if (response.readyState !== 4 || response.status !== 200) return;
// we can parse now
var myregexp = /<a[^>]*>([\s\S]*?(?:Your IP Address)[\s\S]*?)<\/a>/i;
var match = myregexp.exec(response.responseText);
if (match != null) {
// got match
subject = match[1];
// format first line
subject_2 = subject.replace(/<br><b>/mg, " ");
// remove html
subject_3 = subject_2.replace(/<\/?[a-z][a-z0-9]*[^<>]*>|<!--[\s\S]*?-->/ig, "");
// now remove whitespaces
result = subject_3.replace(/^[ \s]*/mg, "");
} else {
// no match, error
result = "I couldn't find your IP Address :(";
}
alert(result);
}
});
});
(function(){
})();
Run Code Online (Sandbox Code Playgroud)
什么都没发生GM_registerMenuCommand.
我可以发出警报,因此我知道脚本正在运行,但我该如何运行GM_registerMenuCommand?
从版本2.0开始,Greasemonkey现在默认为@grant none.
您必须显式添加@grant GM_xmlhttpRequest到userscript元数据块,否则GM_xmlhttpRequest将无法用于您的用户脚本.
// ==UserScript==
[...]
// @grant GM_registerMenuCommand
// @grant GM_xmlhttpRequest
// ==/UserScript==
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1233 次 |
| 最近记录: |