ne fonctionne pas est une description vraiment mauvais d'un problème ..
de toute façon, je vois un problème ici. essayez ceci:
// ==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);
}
});
Vous devez utiliser la directive @include
qui indique GM où le script doit être exécuté. Vous devez utiliser unsafeWindow
pour accéder à l'objet de la fenêtre de cette page
vous devez également charger jquery si elle ne marche pas existe déjà sur la page:
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();
}
c'est votre nouveau script. il chargera jquery pour que vous puissiez utiliser
Merci de votre contribution. Je veux dire qu'aucune des alertes ne se déclenche et je n'arrive pas à comprendre pourquoi. – derek8
vous avez oublié la directive include. jetez un oeil à tout autre script de travail GM – mkoryak
Hmm, toujours pas d'alerte pour moi. – derek8