Size: a a a

2020 August 15

ab

a b in pro.js
Krau5
как can и cannibal
источник

ВГ

Владимир Гомонов... in pro.js
Krau5
как can и cannibal
наоборот
источник
2020 August 16

МУ

Михаил Успенский... in pro.js
Приветствую коллеги. Помогите понять ванильный js?
вот код: console.log(window, window.pageYOffset);
а результат в консоли почему-то показывает разные вещи. Как так?

то есть вывод объекта говорит о том, что у объекта параметр pageYOffset имеет значение 1305, но вывод конкретного параметра объекта window.pageYOffset показывает ноль
источник

МУ

Михаил Успенский... in pro.js
источник

ab

a b in pro.js
При выводе `window.pageYOffset` ты получаешь значение  в этот момент. А раскрывая объект в консоли ты получаешь актуальное значение
источник

МУ

Михаил Успенский... in pro.js
так и как же получить актуальное значение? то есть дождаться, пока документ "прокрутиться" до pageYoffset и только после этого уже выполнять свой код?

при том что скрипт загружается с аттрибутом defer

upd: при чём значение window.pageYOffset используется внутри for loop и только при первой итерации я получаю ноль, вместо актуального значения
источник

ab

a b in pro.js
Проверь, убрав defer
источник

МУ

Михаил Успенский... in pro.js
a b
Проверь, убрав defer
проверил - без изменений. ноль вместо нужных 1305 пикселей. При чём появляется вероятность пропустить незагруженные элементы на странице
источник

ab

a b in pro.js
А для чего ты вообще в цикле pageYOffset берешь?
источник

ab

a b in pro.js
Михаил Успенский
проверил - без изменений. ноль вместо нужных 1305 пикселей. При чём появляется вероятность пропустить незагруженные элементы на странице
.
источник

МУ

Михаил Успенский... in pro.js
a b
А для чего ты вообще в цикле pageYOffset берешь?
для того, чтобы проинициализировать элементы на странице относительно позиции окна браузера.
источник

ab

a b in pro.js
Михаил Успенский
проверил - без изменений. ноль вместо нужных 1305 пикселей. При чём появляется вероятность пропустить незагруженные элементы на странице
Ну, по сути да. Я сейчас обновляю стартовую страницу в браузере и вижу, что есть промежуток в ~1 секунду, когда скролл находится наверху страницы, и только после этого перескакивает но место
источник

МУ

Михаил Успенский... in pro.js
нет, я вас обманул. я не в цикле беру pageYOffset. я решил проверить его в цикле для каждого элемента, где и увидел, в чём причина проблемы. pageYOffset я беру конечно же до цикла.
источник

МУ

Михаил Успенский... in pro.js
a b
Ну, по сути да. Я сейчас обновляю стартовую страницу в браузере и вижу, что есть промежуток в ~1 секунду, когда скролл находится наверху страницы, и только после этого перескакивает но место
вот я и пытаюсь решить проблему, как дождаться прокрутки окна на свою позицию при обновлении/загрузке страницы
источник

A

Alex in pro.js
Всем привет!
Подскажите, как будет грамотно поступить ? Есть сайт, оптимизировал уже все что только можно, грузится локально очень быстро:
7 requests
350 kB transferred
350 kB resources
Finish: 214 ms
DOMContentLoaded: 99 ms
Load: 137 ms
Если бы не вариативные шрифты (180kB) - было бы еще значительно быстрее.
Но есть такой момент, сайт перегружен анимациями css и js, их там очень много, поэтому браузер немного подтормаживает, будет ли это играть какую-либо роль при СЕО продвижении ? Что для поисковиков считается моментом полной загрузки сайта ? Есть такая идея: при определенном событии, к примеру при полной загрузке DOM дерева - вешать на body css класс .body_animated, который будет запускать все keyframes. Как будет лучше решить такой вопрос ?
Или в принципе, если js подключен одним файлом перед закрывающим body + добавить атрибут async - этого вполне достаточно для оптимизации  ?
источник

ab

a b in pro.js
Alex
Всем привет!
Подскажите, как будет грамотно поступить ? Есть сайт, оптимизировал уже все что только можно, грузится локально очень быстро:
7 requests
350 kB transferred
350 kB resources
Finish: 214 ms
DOMContentLoaded: 99 ms
Load: 137 ms
Если бы не вариативные шрифты (180kB) - было бы еще значительно быстрее.
Но есть такой момент, сайт перегружен анимациями css и js, их там очень много, поэтому браузер немного подтормаживает, будет ли это играть какую-либо роль при СЕО продвижении ? Что для поисковиков считается моментом полной загрузки сайта ? Есть такая идея: при определенном событии, к примеру при полной загрузке DOM дерева - вешать на body css класс .body_animated, который будет запускать все keyframes. Как будет лучше решить такой вопрос ?
Или в принципе, если js подключен одним файлом перед закрывающим body + добавить атрибут async - этого вполне достаточно для оптимизации  ?
Ну, я думаю, тут лучше решать первопричину в виде неправильным образом сделанных анимаций
источник

ab

a b in pro.js
Михаил Успенский
вот я и пытаюсь решить проблему, как дождаться прокрутки окна на свою позицию при обновлении/загрузке страницы
window.addEventListener('load', () => {}) не поможет?
источник

ab

a b in pro.js
Просто никогда не встречался такой кейс вроде
источник

ab

a b in pro.js
Alex
Всем привет!
Подскажите, как будет грамотно поступить ? Есть сайт, оптимизировал уже все что только можно, грузится локально очень быстро:
7 requests
350 kB transferred
350 kB resources
Finish: 214 ms
DOMContentLoaded: 99 ms
Load: 137 ms
Если бы не вариативные шрифты (180kB) - было бы еще значительно быстрее.
Но есть такой момент, сайт перегружен анимациями css и js, их там очень много, поэтому браузер немного подтормаживает, будет ли это играть какую-либо роль при СЕО продвижении ? Что для поисковиков считается моментом полной загрузки сайта ? Есть такая идея: при определенном событии, к примеру при полной загрузке DOM дерева - вешать на body css класс .body_animated, который будет запускать все keyframes. Как будет лучше решить такой вопрос ?
Или в принципе, если js подключен одним файлом перед закрывающим body + добавить атрибут async - этого вполне достаточно для оптимизации  ?
Посмотри, что показывает https://developers.google.com/speed/pagespeed/insights/
источник

МУ

Михаил Успенский... in pro.js
a b
window.addEventListener('load', () => {}) не поможет?
попробовал. всё равно выдаёт сначала pageYOffset = 0
источник