0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 28
|
||||||
1 | ||||||
HTML валидатор - "async" is not a member of a group specified for any attribute19.03.2017, 09:25. Показов 3131. Ответов 19
Метки нет (Все метки)
Здравствуйте!
Задался целью "полностью понравиться" валидатору .w3.org, и практически достиг ее... Но потом задался еще одной целью - понравиться google-speed, а они просят загружать js скрипты после основного контента. Поэтому для подключения jQuery решил использовать асинхронную загрузку.. Но теперь, опять ругается валидатор:
0
|
19.03.2017, 09:25 | |
Ответы с готовыми решениями:
19
Собственный валидатор с HTML разметкой Валидатор выдает ошибку в html коде Валидатор HTML w3.org - еще актуален? HTML валидатор ругается на передачу в $_GET переменной с пробелами Mixing of GROUP columns (MIN(),MAX(),COUNT(),.) with no GROUP columns is illegal if there is no GROUP BY clause |
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 28
|
|
19.03.2017, 09:46 [ТС] | 3 |
0
|
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 28
|
|
19.03.2017, 09:53 [ТС] | 5 |
с defer у меня не работает... т.е. другие скрипты, которые я перенес в футер не запускаются без JQuery... ((
А может быть можно этот doctipe исправить?
0
|
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 28
|
|
19.03.2017, 10:09 [ТС] | 7 |
...попробовал... какие-то новые ошибки вылезли (и вид у валидатора изменился - так и должно быть?)
0
|
19.03.2017, 10:14 | 8 |
Ну да, валидатор говорит, что надо использовать современные подходы. И ошибки, например, что нельзя использовать пробелы в наименовании идентификаторов.
Добавлено через 1 минуту Вы ваш доктайп откуда взяли?
0
|
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 28
|
|
19.03.2017, 10:23 [ТС] | 9 |
Сайт старый, самописный движок на php... вот, попросили "оптимизировать"..
даже не знаю, как теперь лучше поступить... ну вот, допустим, я эти ошибки исправлю, а при смене кодировки windows-1251 на UTF-8 кракозябры не полезут из базы вместо букв?
0
|
19.03.2017, 10:48 | 10 | |||||
По поводу кодировки вам валидатор выдал предупреждение, а не ошибку.
Если сайт времен царя Гороха, то надо не оптимизировать его, а переписывать. Добавлено через 14 минут Так сработает:
0
|
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 28
|
|
19.03.2017, 11:02 [ТС] | 11 |
Извините, не соображу пока... что тут в этом коде нового? и где async ?
0
|
19.03.2017, 11:06 | 12 |
Библиотека подключается перед закрывающим тегом </body>, как валидатор и хочет, а скрипты на странице будут ждать полной загрузки документа.
Добавлено через 2 минуты Даже не валидатор, а google-speed
0
|
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 28
|
||||||
19.03.2017, 11:08 [ТС] | 13 | |||||
т.е. в верху страницы нужно вставить
Еще раз извините, что, возможно, "туплю"... )
0
|
19.03.2017, 11:13 | 14 |
Я вам показал на примере, когда jQuery подключена в конце документа, но скрипты в самом документе отрабатывают нормально.
Ваша же цель не влепить async любой ценой, а загрузка js скриптов после основного контента.
0
|
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 28
|
||||||
19.03.2017, 11:24 [ТС] | 15 | |||||
ну да, я так и понял... просто уточняю: что бы можно было подключить jQuery в конце страницы и другие скрипты "ждали" его загрузки (т.е. полной загрузки страницы) нужно вставить в начале следующий код:
0
|
19.03.2017, 11:40 | 16 |
Сообщение было отмечено mrtoxas как решение
Решение
Я не знаю, что вы поняли. Я так же не знаю что там у вас за скрипты. Поэтому я написал скрипт для примера -
$("#h1").html("Hello World"); , чтобы можно было наглядно убедиться, что код работает, даже если подключать библиотеку в конце документа. Если вам нужно в каждый заголовок вставлять "Hello World", тогда да, вставляйте его. Без window.onload этот код не работал бы, потому что браузер до загрузки библиотеки не знает еще, что такое $("") ). К прочтению: Загрузка документа. Добавлено через 7 минут В общем, выходы в вашей ситуации: 1. Забить на предупреждение google-speed об подключении скриптов в конце страницы. 2. Если вы хотите использовать async - меняем доктайп. Но тогда в валидаторе повылазит куча ошибок. 3. Подключать скрипты в конце документа, указывая тем скриптам, которые зависят от библиотеки, работать после загрузки этой самой библиотеки.
0
|
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 28
|
|
19.03.2017, 12:05 [ТС] | 17 |
Кажется понял Вашу мысль, спасибо... "window.onload=" нужно добавить в скриптах, которые используют jQury - тогда они будут выполняться после полной загрузки страницы (и, соответственно, jQuery, даже если он будет подгружаться в конце)
0
|
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 28
|
||||||
20.03.2017, 15:28 [ТС] | 18 | |||||
у меня вот такой скрипт на странице:
0
|
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 28
|
|
20.03.2017, 15:49 [ТС] | 20 |
Супер, все работает, спасибо... ))
.. правда не очень красиво получается: сначала загружается куча картинок на страницу, а потом они "перестраиваются" в карусель... с async как-то "поаккуратней" выглядело Добавлено через 8 минут .. но зато гугл-спиду нравится!!! ))))
0
|
20.03.2017, 15:49 | |
20.03.2017, 15:49 | |
Помогаю со студенческими работами здесь
20
Валидатор html, Javascript, серверный фреймворк и т.п.: как, собственно, все сложить вместе Async/ await как правильно ввести данные в async метод (консоль) Как корректно заменить async: false на async: true Ошибка - Attribute 'onchange' is not a valid attribute of element Attribute error 'tuple' object has no attribute 'employee_id' Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |