2016-04-13 10 views

Antwort

0

helfen Die Frage ist eigentlich nicht wirklich beschreibend, aber Greasemonkey ist eigentlich mit Hilfe von JavaScript. Nehmen wir an, Sie haben "Kopf" Element in Ihrer Seite und Sie wollen dies als ein einzelnes Element innerhalb von "Kopf" -Element.

Das in Javascript können Sie dies erreichen, indem folgende:

var e = '<script src="script.js" type="text/javascript" language="javaScript"></script>'; 
document.head.innerHTML = e; 

Um es anhängen können Sie einfach infront Gleichheitszeichen in der zweiten Befehl hinzuzufügen Pluszeichen:

var e = '<script src="script.js" type="text/javascript" language="javaScript"></script>'; 
document.head.innerHTML += e; 

EDIT: Schließlich, wenn Sie einzelne script Element auf solche Quell-Javascript-Datei zeigen, können Sie dies auch verwenden, um Element zu identifizieren und Attributwert direkt zu ersetzen:

document.querySelectorAll('script[src="script.js"]')[0].setAttribute('src','demo.js'); 
2

Führen Sie Ihr Skript früh von @run-at document-start. Fügen Sie einen Ereignis-Listener beforescriptexecute hinzu und überprüfen Sie die Skriptquelle. Wenn Sie das gewünschte Skript gefunden haben, rufen Sie die Methode preventDefault des Ereignisses auf und ersetzen Sie das Skript-Tag im DOM.

// ==UserScript== 
// @name  demo-scriptreplace 
// @include  http://example.com/* 
// @version  1 
// @run-at  document-start 
// ==/UserScript== 

window.addEventListener('beforescriptexecute', 
    function(event) 
    { 
    var originalScript = event.target; 

    // debug output of full qualified script url 
    console.log('script detected:', originalScript.src); 

    // script ends with 'originalscript.js' ? 
    // you can test as well: '<full qualified url>' === originalScript.src 
    if(/\/originalscript\.js$/.test(originalScript.src)) 
    { 
     var replacementScript = document.createElement('script'); 
     replacementScript.src = 'replacementscript.js'; 

     originalScript.parentNode.replaceChild(replacementScript, originalScript); 

     // prevent execution of the original script 
     event.preventDefault(); 
    } 
    } 
); 
Verwandte Themen