Dmitriy_2014

Dmitriy_2014
Рейтинг
370
Регистрация
01.07.2014
Интересы
Веб-технологии
Snake800 #:

Можно разделить скрипт на 2 части. Вот это -

 оставить в <head>, осталное в подвал вместе с остальными скриптами.

Я вот думаю отдельный js файл сделать, только для переключения темы, или все остальное обернуть в jQuery(document).ready – ну типа чтобы оно потом грузилось.
Snake800 #:

Достаточно в head. Проверено. И да, хорошим тоном является при первом визите устанавливать тему на основе дефолтных настроек юзера.

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

Кстати пару слов о переносе скрипта из футера в хеад, там тоже приколы интересные:

JavaScript говорит мне, что мальчик хочешь на кнопку нажать, а ничего не выйдет, теперь скрипт выше кнопки и поэтому кнопки как бы и нет ХА-ХА – null тебе в ребро :), и в догонку ошибку - Uncaught TypeError: Cannot read properties of null, а ведь до этого все работало когда скрипт был в футере под кнопкой.

Хорошо JavaScript ты не с тем связался, помощь с вестсайдвутангклана подоспела, делаю как этот чувак советует - https://sebhastian.com/javascript-cannot-read-properties-of-null/, ведь мне нужно чтобы теперь кнопка работала со скриптом который в хеад, до кнопки и этот чел советует это:

document.addEventListener('DOMContentLoaded', () => {

  let btnEl = document.getElementById("my-button");

  btnEl?.addEventListener("click", () => alert("You clicked a button!"));

});

И это действительно работает, я не знаю почему и как, но перенос скрипта в хеад и изменение кода как тот чел советовал действительно сработал.

И все вроде бы работает, но все это мне жутко не нравится, ни то что скрипт теперь в хеад, сам скрипт какой-то страшный, плюс 100500 переменных в CSS, лучше бы я ссылку дал на расширение к браузеру Dark Reader, для этих любителей bdsm темных тем, то им в MS-DOS синий экран не нравится, то теперь белый, ну вот они же книги наверное читают, все книги 99% черное на белом, они же не говорят, дайте нам белое на черном, мы же по ночам читаем глазки напрягаем, это же бред какой-то :-), ладно это я шучу :-)
webinfo #:
Ну тоже естественно, потому что исходный CSS  срабатывает  до JS.
Так, а что сделать, перенести JS до CSS?
lutskboy #:
можно добавить  body visibility hidden а при установке темы    visibility visible
Сделать типа как по этому гайду - https://dev.to/whitep4nth3r/the-best-lightdark-mode-theme-toggle-in-javascript-368f, добавив в тег html атрибут data-theme="light"?
divv #:
Если сайт на php, то лучше сразу атрибут добавлять, например в body. Тоесть js использовать для установки и удаления атрибута и запись в куки, а php нужен для установки атрибута сразу при загрузки страницы, чтобы ничего не моргало.
Сайт то на php, но есть нюанс, используется плагин кэширования и страницы отдаются как бы готовыми. Может это как-то влияет?

Посмотрел на pikabu, там эти ошибки и предупреждения генерируются тысячами, даже при прокрутке сайта, ну и при смене темы, походу это стандарт.

Вы правы это нормально, не стоило и переживать…
Антоний Казанский #:

Это вы слишком вольно трактуете её применение.

Пагинация как правило под рабочим перечнем и размещать её куда-то ещё довольно нелепо.

Вот вам классический вид семантической вёрстки,


Соот-но, можно для пагинации придумать и <aside> и логичнее даже <nav>, но как уже сказал, это пустые хлопоты.

Забавно что на этой картинке тоже нет пагинации :), но я где-то когда-то вроде в 98 видел то-ли в галереях то-ли еще где пагинацию сверху над контентом, всякое бывает.
webinfo #:

Ага. В меню её размести. "Без разницы" же.
Завязывай уже с подобными темами.

Ок.
webinfo #:

С чего ты это взял? Браузер не знает, в каком месте надо закрывать тег, поэтому может закрыть его в совершенно неподобающем месте.

Ну ладно тебе, браузер многое прощает.
Антоний Казанский #:
Можете включить, можете вынести - никакого доп. полезного эффекта это не даст. 
Короче все как всегда, но с другой стороны правильно, пагинация может быть сверху, снизу, сбоку, может она и не должна быть приколочена к main’у.
Всего: 2005