X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> jQuery не подгружается асинхронно
k0ttee
k0ttee
Topic Starter сообщение 29.10.2015, 21:37; Ответить: k0ttee
Сообщение #1


С клиентской точки зрения Safari офигенен. Выходят фичи, реализующие функционал плагинов без плагинов (а значит быстрым скомпилированным кодом вместо медленного скриптового). Однако...

Google хочет чтобы JS-файлы подгружались асинхронно (рекомендация ускорения отрисовки страниц в браузер).
Ну я добавил async в строку подгрузки:
<script async src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

На что сафаря ругается в консоль, что буквально "не видит переменную знак доллара".
Прикрепленное изображение


Версия safari 9 (точная версия сборки).
Прикрепленное изображение


В остальных браузерах тоже не асинхронит... У кого-нибудь получалось грузить либу асинхронно? :swoon:


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Dotatin
Dotatin
сообщение 29.10.2015, 22:53; Ответить: Dotatin
Сообщение #2


Сам не пробовал, но читал недавно одну статью про это. Типа увеличивает скорость процентов на 30, но пока тянет это только лис и зеамонкей.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
airman
airman
сообщение 29.10.2015, 22:57; Ответить: airman
Сообщение #3


Да есть такая хрень, вот бы ее побороть, а то тест гугла на скорость ее показывает как не оптимизированный элемент


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
k0ttee
k0ttee
Topic Starter сообщение 31.10.2015, 4:27; Ответить: k0ttee
Сообщение #4


Однако если после </html> грузить, то есть не мешая странице, тогда получается асинхронно (проверял на всех своих ГСах). Но тогда и весь JS-код придется выносить после </html> что в масштабах тяжелого движка станет адом...

Есть defer вместо async, но его применение потребует оберток для существующего кода. Тоже будет ад, если перелопатить предстоит форум или крупный портал...

Добавлено спустя 9 часов 1 минуту 48 секунд:
Попытка:
Пробовал вешать на событие "документ готов" - тоже не прокатило (начинать грузить JQ после готовности страницы - дополнительный тормоз по факту, зато валидатор гугла устроило бы).

Технология:
Смысл технологии асинхронности - ускорить событие "документ готов" (страничка грузится не блокируясь скриптами).
На глаз это так: страница загружена за один миг и ее можно читать, а свистелки добавятся на полсекунды позже (на медленном интернете это помогает меньше любоваться белым фоном).

Реализация:
Нынешние сайты сделаны так, что прямо в документ вписаны скрипты (или добавляются в тело документа из JS-файлов).
Подключение JS-файлов можно вынести за </html>, но вынести код из документа не позволит шаблонизатор со своими причудами.
Ладно блог, где всего 5 не очень больших файлов шаблона, а вы представьте какой ад будет в переработке форума!

Итог:
Делая новые шаблоны, можно изначально сделать кошерную компоновку и все будет в ажуре.
Но вот со старыми сайтами будет еще больше вело-костылей, плагинов (которые вы любите) от которых фактически - наоборот только больше тормозов.

P.S:
Гугл дает Advice (совет), а не требует Require (требование).
Гипотетически это плюс к ранжированию, но вело-костыли удовлетворяющие валидатор могут только замедлить сайт.


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Dotatin
Dotatin
сообщение 1.11.2015, 12:51; Ответить: Dotatin
Сообщение #5


Если работает, то лучше не трогать. Ставя новый костыль, случайно заденешь старый и сиди потом разбирайся, в чём проблема.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
airman
airman
сообщение 2.11.2015, 20:52; Ответить: airman
Сообщение #6


k0ttee, жаль что не вышло, стока трудов по поиску решения и все впустую :(


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
k0ttee
k0ttee
Topic Starter сообщение 3.11.2015, 2:15; Ответить: k0ttee
Сообщение #7


жаль

Программисты 20% времени пишут код, а потом 80% чувствуют себя неудачниками.

Я 20% времени был счастлив, когда нашел возможность асинхронного инклюда прямо на html. И это работало в Chrome.

Это просто офигенно: это и вместо iframe можно, это может использовать свой css не подмешивая стили в основной документ.
<link defer rel="import" type="text/html" src="file.pofig">

А потом, 80% времени печалился - в остальных браузерах не работает (IE так вообще говна кусок).

Прочитал вот это (самая оригинальная доку) _http://www.w3.org/TR/html-imports/#dfn-import-async-attribute
Затем вот это (зачетная статейка с видео на борту) _http://webcomponents.org/articles/introduction-to-html-imports/

По второй ссылке можно узнать о инклудах на клиенте, это когда вот так:
Прикрепленное изображение


А потом англоязычного коллегу (ссылка где-то в закладках), где автор пришел к тому же, к чему и я... нужно выпить.
Прикрепленное изображение


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
k0ttee
k0ttee
Topic Starter сообщение 7.6.2016, 1:40; Ответить: k0ttee
Сообщение #8


Async не всегда нужен, ибо последовательно подгружать следует написав defer.


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
сообщение 15.6.2016, 2:07; Ответить: sc2r2bey
Сообщение #9


может надо так:
async="async"


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1243 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44918 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) 1C-Bitrix, JavaScript\jQuery, Верстка HTML5 CSS3
1 byteeightlab 1471 2.7.2019, 7:37
автор: ychervov
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 3820 25.12.2017, 21:18
автор: xetedata
Открытая тема (нет новых ответов) Frontend услуги (верстка, подключение jquery плагинов, кастомизация, написание скриптов)
услуги по frontend-разработке
15 FrontMaster 10054 25.11.2017, 13:46
автор: Stom


 



RSS Текстовая версия Сейчас: 23.4.2024, 20:12
Дизайн