不工作是一个问题的一个非常糟糕的描述..
反正我在这里看到的一个问题。试试这个:
// ==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为你使用
谢谢您的参与。我的意思是没有警报触发,我不明白为什么。 – derek8
你忘记了include指令。看看任何其他工作GM脚本 – mkoryak
嗯,仍然没有提醒我。 – derek8