Ich möchte "script.js" zu "demo.js" ersetzen. mir jemand bittewie Kopf Skript mit Greasemonkey Code ersetzen
<head>
<script src="script.js" type="text/javascript" language="javaScript"></script>
</head>
Ich möchte "script.js" zu "demo.js" ersetzen. mir jemand bittewie Kopf Skript mit Greasemonkey Code ersetzen
<head>
<script src="script.js" type="text/javascript" language="javaScript"></script>
</head>
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');
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();
}
}
);
Warum wurde das abgelehnt? Wenn es ein Duplikat ist, sollte es beachtet werden. – leewz