Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Почему не соблюдается порядок загрузки страницы? (https://javascript.ru/forum/dom-window/67587-pochemu-ne-soblyudaetsya-poryadok-zagruzki-stranicy.html)

PavelSazonov 26.02.2017 11:49

Почему не соблюдается порядок загрузки страницы?
 
Вот пример из учебника:
<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf‐8">
</head>
<body>
  <p>Начинаем считать:</p>
<script>
  alert( 'Первый кролик!' );
  alert( 'Второй кролик!' );
  alert( 'Третий кролик!' );
</script>
    <p>Кролики посчитаны!</p>
  </body>
</html>

Сначала должна выводиться строка "Начинаем считать:"
Потом сообщения с кроликами.
Потом строка "Кролики посчитаны!"

У меня грузятся сначала сообщения, потом на страницу выводится весь html.

рони 26.02.2017 11:59

PavelSazonov,
потому что у хрома с оптимизацией перебор и на будущее:
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

PavelSazonov 26.02.2017 12:07

И с defer тоже не должен сначала загрузитться html, а потом скрипт?
У меня сначала выводится alert, потом текст.
<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf‐8">
</head>
<body>
  
  <p>К сожалению, чтобы комфортно работать с языком, нужно учить его с детства. С раннего. Как минимум лет с пяти. Но не все потеряно - при желании выучить можно, но сил будет затрачено многократно больше, с меньшим результатом.
</p>
  <p>Кино с сабами тоже работает. У меня так жена испанский подняла с уровня "когда-то учила с репетитором год" до "практически свободно разговариваю и читаю\пишу".</p>
<script  defer src="script.js">
  
</script>
   
  </body>
</html>


в файле скрипта
alert('Я - Javascript!')

PavelSazonov 26.02.2017 12:12

Цитата:

Сообщение от рони
потому что у хрома с оптимизацией перебор

в Safari тоже самое.
Что-то явно не так делаю, или не так понял учебник.

Rise 26.02.2017 12:19

PavelSazonov, учись в Firefox - это эталон за редким исключением плюс мощный DevTools, в остальных браузерах каламбур творится - иногда синхронное не синхронно, каскадное не каскадно и тд, но об этом надо знать тоже.

PavelSazonov 26.02.2017 12:40

Rise,
спасибо, установил.
Но проблема с кодировкой.
В Firefox вид-кодировка текста-юникод.
В html - <meta charset="utf‐8">
В sublime тоже сохраняется в utf‐8.
В Хроме и Сафари все работает, а в Файрфоксе крякозябры.

PavelSazonov 26.02.2017 13:00

Разобрался.
Копировал код из учебника в строке <meta charset="utf‐8"> -8 были не юникодовскими символами

Rise 26.02.2017 13:23

PavelSazonov, у тебя в слове utf‐8 не тот дефис, введи дефис с клавиатуры, то что это где-то работает - это не по стандарту, там должна быть ASCII-строка в Unicode-диапозоне от U+0000 до U+007F включительно, видишь как Хром и Сафари лажают(

PavelSazonov 26.02.2017 13:33

Rise,
спасибо.
Скопировал из учебника код, оказывается, так делать не надо.

ksa 27.02.2017 08:45

Цитата:

Сообщение от PavelSazonov
Скопировал из учебника код, оказывается, так делать не надо.

Учебники для того и созданы - чтобы учить. ;)


Часовой пояс GMT +3, время: 18:06.