Sind separate Javascript Script Tags voneinander isoliert?

8

Zuerst gebe ich an, was ich erreichen möchte: Ich hätte gerne einen Code, der über Websockets mit meinem Server verbunden ist. Ich sende Nachrichten an den Browser, um zu sagen, dass sie remote neu laden sollen. Ich möchte, dass dieser Code (abgesehen davon, dass er selbst keine Fehler enthält) nicht von anderen Seitenfehlern betroffen ist, so dass ich die Seite immer noch dynamisch aktualisieren kann, um die Fehler zu beheben.

Wenn bei meinen Tests auf der neuesten Chrome- und iPad-Safari eine Laufzeitausnahme in einem Skript-Tag auftritt, wird diese js-Ausführung angehalten. Jedes andere Javascript in anderen Skript-Tags ist jedoch weiterhin kein Problem. Ist das erwartetes Verhalten, oder habe ich nur Glück? Ich habe TypeError, throw new Error('something') und undefined Fehler geworfen, und meine anderen Skripte laufen immer noch gut. Ich mache so etwas:

%Vor%

Wenn ich eine Fehlermeldung in mainApp.js ausspreche, läuft mein Websocket-Code immer noch und aktualisiert die Seite in reloadCode.js , auch wenn mainApp.js zuerst ausgewertet wird.

    
thehammer 29.07.2015, 16:14
quelle

3 Antworten

3

Ok, ich habe gerade selbst einen Test gemacht, um sicher zu gehen (ich glaube nicht, dass separate JS-Dateien sich gegenseitig kompilieren sollten)

Ich habe zuerst eine einfache HTML-Seite erstellt, die 3 JS-Dateien enthielt. Hier sind die JS-Dateien

myscript1.js

%Vor%

myscript2.js

%Vor%

myscript3.js

%Vor%

Html

%Vor%

meinscript1 und meinscript3 werden ausgeführt, aber meinscript2 wird wegen eines Fehlers nicht ausgeführt. Solange Ihre reloadCode.js funktioniert, sind Sie dann alle A-OK

Nur um klar zu sein, ich habe nur 2 Warnungen, nicht 3, weil myscript2.js nicht kompiliert hat.

    
Canvas 29.07.2015 16:26
quelle
2

Wenn sie nicht zwischen ihnen interagieren ... Dann sind sie ja voneinander getrennt.

    
Onilol 29.07.2015 16:25
quelle
0

Im ersten Beispiel habe ich drei alert () in drei Skript-Tags separat geschrieben ( Beispiel ). Feueralarm ('FIRST') und Alarm ('THIRD').

%Vor%

Im zweiten Beispiel habe ich drei alert () in ein Skript-Tag geschrieben ( Beispiel ). Nur Alarm ausgelöst ('FIRST').

%Vor%     
artamonovdev 01.11.2017 10:10
quelle

Tags und Links