Najpierw przedstawię, co próbuję osiągnąć: Chciałbym mieć kod, który łączy się z moim serwerem za pośrednictwem stron internetowych. Wysyłam wiadomości do przeglądarki, aby przekazać je zdalnie. Chciałbym, aby ten kod (z wyjątkiem tego, że nie zawiera błędów) nie byłby narażony na inne błędy strony, więc nadal mogę odświeżyć stronę zdalnie, aby naprawić wspomniane błędy.Czy oddzielne tagi skryptów Javascript są odizolowane od siebie nawzajem?
Podczas moich testów na najnowszym safari w przeglądarce Chrome i iPadzie, jeśli w jednym znaczniku skryptu wystąpi wyjątek środowiska wykonawczego, wykonanie js zostanie wstrzymane. Jednak wszelkie inne javascript w innych znacznikach skryptów nadal nie stanowi problemu. Czy to oczekiwane zachowanie, czy też mam szczęście? Wrzuciłem TypeError, throw new Error('something')
i nieokreślone błędy, a moje inne skrypty wciąż działają poprawnie. I coś zrobić tak:
<script type='text/javascript' src='reloadCode.js'/>
<script type='text/javascript' src='mainApp.js'/>
Jeśli rzucę błędy bajillion w mainApp.js
, mój kod websocket nadal działa i odświeża stronę w reloadCode.js
, nawet jeśli mainApp.js
jest oceniana jako pierwszy.
http://stackoverflow.com/questions/10825992/prevent-javascript-from-stopping-when-error-is-encountered –