А как же ошибка в Pagespeed: "ссылки невозможно просканировать"
Или ее уже нет?
Хотя на это можно забить.
Да, похоже вы правы:
PageSpeed Insights рапортует:
Ссылки невозможно просканировать
Поисковые системы при сканировании сайтов учитывают содержащиеся в ссылках атрибуты href. Чтобы на вашем сайте могло быть проиндексировано максимально возможное количество страниц, атрибуты href в анкерах должны корректно ссылаться на целевые страницы.
Для тех ссылок у которых убран href, то есть моих псевдокнопок.
Рекомендует сделать ссылки доступными - https://support.google.com/webmasters/answer/9112205.
Для html 5 теперь необязательный атрибут.
Но если не планируете использование якорных ссылок, то и не стоит рассматривать тег <a>.
Дизайн завязан на a, в css идет класс а-ля “.обертка a”(там куча свойств) и нужно будет дублировать тоже самое для span, если переделывать. И к тому же сейчас все нормально работает так как мне хотелось бы, но вот нюанс, и старый холивар из разряда это должна быть кнопка не делайте из ссылки кнопки и кнопки — это не ссылки и т.п. :)
А можно ли сказать что эти методы - document.addEventListener('DOMContentLoaded' и jQuery(document).ready,
Можно разделить скрипт на 2 части. Вот это -
Достаточно в 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!"));
});
И это действительно работает, я не знаю почему и как, но перенос скрипта в хеад и изменение кода как тот чел советовал действительно сработал.