[JScript] Есть ли такая ошибка?

Trofimovyoa

после которой выполнение скриптов даже в других тэгах <script> невозможно, однако просмотр хтмл возможен (то есть браузер не падает). Или каждый блок <script></script> в своей песочнице работает и ничего глобального запороть нельзя?

pitrik2

у всех браузеров по-разному
но чаще всего все <script> работают в одной песочнице
особенно если это касается синтаксиса
ставишь какуюнить запятую или кавычку лишнюю и джаваскрипт на странице отключается
токо в ерроры логи валятся

Trofimovyoa

В Опере и ИЕ6 на испробованных ошибках отрубается только тот блок скриптов, в котором собственно и была ошибка. Остальные работают.

<script>alert("1");</script>
<script>-+-+-+-+-+-</script>
<script>alert("2");</script>

Второй алерт срабатывает, что бы ни было во втором блоке скрипт.
Есть ли такая ошибка, чтобы после нее второй алерт не отработал?
(: вечный цикл не предлагать)

Dasar

можно без ошибок отрубить:

<script>alert("1");</script>
<script>var alert=1;</script>
<script>alert("2");</script>

Trofimovyoa

Да, спасибо, пользуюсь таким методом. Но не все методы/функции можно таким образом переопределить, хотя нужные (типа document.write = null) получается.

Dasar

так тебе что надо? остановить обработку JavaScript-а?
а не проще найти все блоки script и их обнулить?

Trofimovyoa

Перечисление элементов типа 'script' и removeNode работает только в отношении блоков, которые уже были описаны выше в документе. А onload выполняется после того, как злые скрипты отработали.

rosali

> найти все блоки script
а onclick="...", а href="javascript:..."? вобщем есть отличный шанс про что-нибудь забыть.
не говоря уже о том, что найти все script блоки в (не x)html - не такая простая задача, постоянно будут обнаруживаться странные браузеры, которые понимают html не так как ты ;)
Оставить комментарий
Имя или ник:
Комментарий: