Pull to refresh

Comments 9

>Ночная версия WebKit отныне поддерживает свойства async и defer тэга script, появившиеся в HTML5.
Вообще-то defer не изобретение html5, и давно поддерживается основными браузерами: IE, Firefox, Opera.
О чем собственно и упомянуто в конце статьи. Просто сейчас принято на различные фишки навешивать ярлык HTML5, что и сделал автор.
Атрибут 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)
>> Примерно такиеже манипуции требуются в WebKit при $(someelement).html(somehtmlWithLinkCss);

У вебкита есть такие траблы. ДОМ почему то не всегда обновляется если он изменен через innerHTML. Попробуйте вставлять линки на ксс стандартными дом методами (document.createElement, appendChild)
Sign up to leave a comment.

Articles