Was passiert beim asynchronen Laden von Webapps, wenn ein Skript die zuvor geladenen oder enthaltenen Skripte löscht?
Die Frage ist: Was passiert beim asynchronen Laden von Webapps, wenn ein Skript die zuvor geladenen oder enthaltenen Skripte löscht?
Lassen Sie mehrere Skripte enthalten:
<script src="Squel.js" async="" type="text/javascript"></script>
<script src="PSquel.js" async="" type="text/javascript"></script>
<script src="MySquel.js" async="" type="text/javascript"></script>
Unabhängig davon, ob es durch Markup oder dynamisch über requireJS eingebunden wird, geschieht die gleiche Reihenfolge von asynchronen Skripteinschlüssen.
Der Inhalt der MySquel.js-Datei könnte folgender bösartiger Code sein:
document.getElementsByTagName('script').forEach(function(val,i,arr){
if(/PSquel/.test(val.src)){
val.parentNode.removeChild(val);
}
}
Natürlich ist die Frage sehr browserspezifisch, ich bin jedoch daran interessiert, dass es irgendwelche Macken gibt, die Speicherlöcher in einem bestimmten Browser öffnen. Ich interessiere mich auch für Kantenfälle, die Sie kennen!
Ich bin sehr dankbar für Ihre Antwort in einem der Randfälle, die Sie in Bezug auf möglicherweise unsichere Skriptladevorgänge kennen! Vielen Dank.