В моем локальном каталоге все работает. У меня есть файл JavaScript, который создает значок и ссылки style.css. В теге скрипта ничего не работает. Здесь можно найти необработанный код, и ни один из них не работает:
Я использовал 3-й, но как только я внес изменения в script.js, все сломалось! По сути, в моем script.js я привязываю к значку, относящемуся к репозиторию, и относительно связываю файл style.css, используя createElement и атрибуцию, и добавляю его в заголовок.
const link = top.document.createElement("link");
link.type = "image/x-icon";
link.rel = "shortcut icon";
link.href = "./icon.ico";
top.document.querySelector("head").appendChild(link);
const stylesheetLink = top.document.createElement("link");
link.type = "text/css";
link.rel = "stylesheet";
link.href = "./style.css";
top.document.querySelector("head").appendChild(link);
console.info("The style was linked and the favicon was added.");
Все работало нормально, пока я не добавил второй раздел - связывание style.css - и, поскольку они были подключены через ветку (не рекомендуется), значки исчезли.
Почему это происходит и как это исправить? Ссылки веток не работали, потому что они кешируются постоянно, но как насчет ссылок на хеш-код фиксации?
Теперь я использую вторую ссылку с CDN и фиксацией, но приведенный выше код по-прежнему не работает. У меня есть две другие функции, goToHomePage() и goBack(), которые работают нормально. Все работает локально, в Sublime Text 3, когда я запускаю его в эквивалентном HTML-файле. Появляются значки. Почему он работает локально, а не на страницах GitHub?
Я добавил отладочную инструкцию console.info(), в которой говорится
The style was linked and the favicon was added.
После обновления фиксации для одного из моих репозиториев и нажатия она распечаталась! Итак, факты таковы
script.js все работало нормально.script.js исчезли значки, которые были связаны через script.js.Я предполагаю, что проблема в
top.document и document, но через консоль обнаружил, что они точно такие же.Нет, ошибок нет. Раньше он говорил 404, но это было потому, что не во всех моих репозиториях был файл, на который я ссылался через script.js
Не могли бы вы объяснить, что на самом деле означает "все сломалось"? Как это "не работает"?
Отредактировал мой пост с MCVE и дополнительной информацией @Phil
Вы можете обнаружить, что это проблема с кешем. Фавиконы агрессивно кешируются вашим браузером
До того, как я внес изменения, значок работал нормально.
Позвольте нам продолжить обсуждение в чате.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Во втором разделе - связывание таблицы стилей, переменная link добавляется снова, тогда как должна быть добавлена переменная stylesheetLink. В последней строке MCVE замените .appendChild(link) на .appendChild(stylesheetLink).
Кроме того, вы можете просто сделать cdn.rawgit.com/KnowledgeableKangaroo/KnowledgeableKangaroo.github.io/master/script.js. Ветка работает, пока вы используете CDN.
Сообщалось о каких-либо ошибках в вашем JavaScript и / или сетевых консолях?