Zuerst gebe ich an, was ich erreichen möchte: Ich hätte gerne 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.Sind separate Javascript Script Tags voneinander isoliert?
In meinen Tests auf der neuesten Safari von Chrome und iPad, wenn 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 wie so:
<script type='text/javascript' src='reloadCode.js'/>
<script type='text/javascript' src='mainApp.js'/>
Wenn ich einen bajillion Fehler in mainApp.js
, mein websocket Code noch läuft und aktualisiert die Seite in reloadCode.js
werfen, auch wenn mainApp.js
zuerst ausgewertet wird.
http://stackoverflow.com/questions/10825992/prevent-javascript-from-stopping-when-error-is-encountered –