Entfernen Sie spezifische <script> - tag im <head> - tag durch das onclick-Ereignis
<head>
<script type="text/javascript">
function include(filename, status){
if(status == 'on'){
var head = document.getElementsByTagName('head')[0];
script = document.createElement('script');
script.src = filename;
script.type = "text/javascript";
head.appendChild(script);
} else {
//The code that wipes the script tag above
}
}
</script>
</head>
<body>
<input type="button" value="OPEN" onclick="include('script.js', 'on')">
<input type="button" value="CLOSE" onclick="include('', 'off')">
</body>
Möchte ich entfernen Sie den spezifischen tag-in-tag durch das onclick-Ereignis.
Was sollten code geschrieben werden, in dem ANDEREN Bereich, Wenn ich auf die "SCHLIEßEN" - botton?
- Warum möchten Sie script-tag? Im Allgemeinen, die javascript Lesen und zu verdauen, indem Sie javascript-engine beim laden der Skript-Datei, das Ergebnis sogar entfernen Sie das Skript-tag aus dem DOM-später(in jedem Fall) wird nicht entfernen Sie die Ausführung flow präsentiert entfernt Skript-tag.
head.removeChild(document.getElementById('script_id'));
, obwohl es nicht sehr hilfreich, das Skript selbst im Gedächtnis bleibt, trotz entfernen Sie das element aus dem DOM.- Es sind mehrere posts hier ALSO der Umgang mit diesem Problem...
- Sie waren in der Lage, dies zu lösen, Probleme mit den Lösungen gepostet unten, wenn das so ist, akzeptieren Sie bitte die richtige Antwort für den nutzen von allen in der SO-community.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der einfachste Weg, wäre irgendwie pflegen einen link auf das erstellte element. Zum Beispiel könnte man die include-Funktion in eine Verschluss-und eine private-variable, um zu halten Sie den Verweis:
Ein wichtiger Hinweis: Durch das entfernen der
<script>
tag, tun Sie nicht entfernen Sie alle Ihre Objekte, Funktionen, etc. aus dem DOM. Also irgendeine Aktion gestartet, dass innerhalb<script>
tag wird sich durchsetzen, auch wenn Sie das element löschen, begann es in den ersten Platz!on
in Anführungszeichen, sonst wird es raise exception.Könnten Sie auch hinzufügen, eine ID an das ScriptElement
wird dies für Sie arbeiten
Versuchen Sie es mit dieser: