10
Ich habe ein Problem, bei dem ich meinen Code nur dann aktivieren kann, wenn ich ihn wiederhole. Siehe das folgende Beispiel. Während der Code fast identisch ist, wenn ich eines der beiden Skripte herausnehme, funktioniert der Code nicht mit nur einem Code, aber wenn ich beides ausführe, wird das Skript gut, aber nur eins statt zwei. probieren Sie es aus.Warum wird mein Javascript nur ausgelöst, wenn der Code wiederholt wird?
Das funktioniert (aber nur ein Skript Feuer):
<script type="text/javascript">
var url = window.location.href + "";
document.write('<script type="application/javascript" src="https://testdomain.com/mik21?add=2140535&mik21=' + url + '"/>');
</script>
<script type="text/javascript">
var url = window.location.href + "";
document.write('<script type="application/javascript" src="https://testdomain.com/mik?add=2140535&mik=' + url + '"/>');
</script>
Dies funktioniert nicht:
<script type="text/javascript">
var url = window.location.href + "";
document.write('<script type="application/javascript" src="https://testdomain.com/mik21?add=2140535&mik21=' + url + '"/>');
</script>
Oder diese:
<script type="text/javascript">
var url = window.location.href + "";
document.write('<script type="application/javascript" src="https://testdomain.com/mik?add=2140535&mik=' + url + '"/>');
</script>
Hat jemand irgendwelche Ideen? Das ist definitiv das seltsamste Ding, das ich seit einer Weile gesehen habe.
Danke,
do document.write nicht benutzen, ist mein erster Hinweis, wer weiß, warum das so ist sogar noch gültig in Browsern seit etwa 2005 –
https://stackoverflow.com/questions/802854/ why-is-document-write-adjusted-a-bad-practice – birdspider
Was ist vor der ersten Instanz von '
Dies funktioniert:
js Um zu verhindern, abstürzt, habe ich den
<script>
-Tag in zwei Strings aufgeteilt.Quelle
2015-07-03 09:39:21
Das Problem ist, dass Ihre Skript-Tag ist gebrochen.Ein
<script>
Tag muss durch</script>
geschlossen werden.Hier ist, was passiert:
Beispiel 1
Erzeugt das folgende Markup HTML:
Im Allgemeinen Browser ausführen keinen
<script>
Block, bis sie das finden entsprechende</script>
. Im obigen Beispiel gibt es kein explizites schließendes Tag, daher ignoriert der Browser das Tag.Beispiel 2
erzeugt die folgende Ausgabe:
Beachten Sie, dass der dynamisch geschriebene Skript-Tag nicht geschlossen ist. Der Browser wird dieses Tag mit dem zweiten
</script>
im Markup übereinstimmen; alles dazwischen (falsch) wird Teil dieses Tags.Lösung
Wenn document.write verwenden, stellen Sie sicher, dass Sie
<script>
Tags richtig schließen. Beachten Sie jedoch, dass Sie</script>
nicht wie in JavaScript-Code verwenden können, da dies das Ende des Skriptblocks signalisiert. Sie können den folgenden Trick verwenden:Quelle
2015-07-03 10:32:11
Hinweis: Wenn sich jemand fragt, warum der Browser keine Syntaxfehler verursacht, lautet die Antwort: der Browser ignoriert den Inhalt des Skript-Tags, wenn das 'src'-Attribut vorhanden ist. –