Мешайте IE загрузить динамично включенный сценарий дважды

Любые исключения, которые выдаются в выражении инициализации оператора использования, распространят объем метода и стек вызовов как ожидалось.

Одна вещь не упустить, тем не менее, состоит в том что, если исключение произойдет в выражении инициализации, то Расположение () метод не назовут на переменной выражения. Это - почти всегда поведение, которое Вы хотели бы, так как Вы не хотите потрудиться располагать объект, который не был на самом деле создан. Однако при сложных обстоятельствах могла быть проблема. Таким образом, если несколько инициализаций прокладываются под землей в конструкторе, и некоторые успешно выполняются до выданного исключения, то Расположить вызов не может произойти в той точке. Это обычно - не проблема, тем не менее, так как конструкторы обычно сохраняются простыми.

11
задан stiang 2 November 2009 в 13:21
поделиться

5 ответов

Основное отличие состоит в том, что IE выполняет элемент сценария в первый раз, когда он добавляется к childNodes родительского элемента, независимо от того, действительно ли родительский элемент находится в документе. В других браузерах сценарий выполняется только тогда, когда он добавляется к узлу в дереве дочерних узлов документа.

Функция jQuery domManip (строка 524 jQuery 1.3.2), которая вызывается с помощью append и другие подобные методы jQuery, пытается проявить смекалку и вызывает evalScript для любых элементов