不起作用是对问题的一个非常糟糕的描述..
无论如何,我在这里看到一个问题。尝试这个:
// ==UserScript==
// @name test3
// @namespace test3
// @version 1
// @include *reuters.com*
// ==/UserScript==
loadDependancies(function () {
var actualHost = unsafeWindow.location.toString();
var intendedHost = "www.reuters.com";
alert("Debug 1 - " + actualHost);
if (actualHost == intendedHost) {
alert("Debug 2 - " + actualHost);
}
});
您需要使用@include
告诉 GM 脚本应该在哪里运行的指令。您应该使用unsafeWindow
来访问该页面的窗口对象
如果页面上不存在 jquery,您还需要加载它:
DEBUG = true
function addScript(url){
var s = document.createElement('script');
s.src = url;
s.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(s);
}
function log(msg){
if(DEBUG){
unsafeWindow.console && unsafeWindow.console.log(msg);
}
}
function loadDependancies(boostrapFn) {
addScript('jquery CDN url goes here..');
var check = function(){
log("waiting for dependancies to load: "+ typeof unsafeWindow.jQuery);
if(typeof unsafeWindow.jQuery == 'undefined'){
window.setTimeout(check, 500);
} else {
jQuery = $ = unsafeWindow.jQuery;
boostrapFn();
}
}
check();
}
那是你的新剧本。它将加载 jquery 供您使用