Comments 9
Очень благотворно. Спасибо.
>Ночная версия WebKit отныне поддерживает свойства async и defer тэга script, появившиеся в HTML5.
Вообще-то defer не изобретение html5, и давно поддерживается основными браузерами: IE, Firefox, Opera.
Вообще-то defer не изобретение html5, и давно поддерживается основными браузерами: IE, Firefox, Opera.
Атрибут defer был уже в HTML 4.0, то есть двенадцать лет назад.
>> А вот наличие defer скриптов гарантирует, что как они указаны, так они и будут загружаться. Их выполнение начнется после завершения работы парсера, но до появления события DOMContentLoaded.
Так они последовательно загружаться будут или выполнятся?? Я вообще не вижу особого смысла в последовательной загрузке файлов из которых состоит страница. важно только последовательность выполнения скриптов…
Так они последовательно загружаться будут или выполнятся?? Я вообще не вижу особого смысла в последовательной загрузке файлов из которых состоит страница. важно только последовательность выполнения скриптов…
var scriptref=document.createElement("script"); .... fileref.onreadystatechange=... fileref.onload = fileref.onerror = .... .... document.getElementsByTagName("header" или "body")[0].appendChild(fileref);
Любой браузер, любая дополнительная логика.
Да async || defer чтуки хорошие, но onload прописанный текстом в коде — чтука не совсем полноценая.
Кстати а вы знали что в некоторых случаях defer является обязательным полем?
Давайте раскажу немного про это
Предистория
$(someelement).html(somehtmlWithscripts); -> Вешает ИЕ, в том числе НАМЕРТВО.
сильно зависит от загружаемого кода, но факт есть факт, четыре раза я на это дело попадал.
решается через эмуляцию, которая(имхо) работает лучше родного для jQuery html
$(".someelem").get(0).innerHTML=( data ); $.each($(".someelem script"),function(i,j){ var src=$(this).attr('src'); if(src){ add_script(src,'',target); } var text=$(this).text() || this.text; if(text){ add_script('',text,target); } });
Если у скрипта не будет флага defer — он НЕ БУДЕТ доступен для селектора(ИЕ — 100%)
Также, по непонятным причинам в начале html блока требуется добавлять «магию» в виде пустого дива.
Примерно такиеже манипуции требуются в WebKit при $(someelement).html(somehtmlWithLinkCss); — он тупо даже не пробует загружать файлы стилей.
Пока не я не понял почему, только на одной странице такое происходит у меня.
>> Примерно такиеже манипуции требуются в WebKit при $(someelement).html(somehtmlWithLinkCss);
У вебкита есть такие траблы. ДОМ почему то не всегда обновляется если он изменен через innerHTML. Попробуйте вставлять линки на ксс стандартными дом методами (document.createElement, appendChild)
У вебкита есть такие траблы. ДОМ почему то не всегда обновляется если он изменен через innerHTML. Попробуйте вставлять линки на ксс стандартными дом методами (document.createElement, appendChild)
Sign up to leave a comment.
Загрузка скриптов в WebKit