Почему включение cdn s дважды в страницу нарушает функциональность связанного cdn
Я много раз сталкивался с этой проблемой, заключающейся в том, что включение определенного файла или CDN дважды в страницу нарушает функциональность CDN. Решение состоит в том, чтобы добавить его только один раз на страницу. Теперь я хочу знать причину этого.
Например, предположим, у меня есть загрузочный CDN, присоединенный на странице index.php, и я также включил загрузочный CDN в header.php. Теперь я включил header.php на страницу index.php. В результате я вижу, что некоторая часть index.php теряет свою функциональность. Кто-нибудь может сказать мне причину этого? Это как-то нарушает поток включения?
Я попытался понять это, включив одну и ту же функцию дважды на странице. Но и страница, и функция работают нормально.
Я немного смущен и любопытен по этому поводу.
1 ответ
Я понял, что проблема заключается в js и jquery. Если я включаю JQuery и JS CDN дважды, это создает callConflict
, Вот почему функция JavaScript не работает должным образом.
Есть как минимум три способа решения этой проблемы:
Включая CDN только один раз (наиболее очевидное решение).
Проверьте, загрузили ли мы уже jquery или нет. Используя следующую строку кода:
window.jQuery || document.write('<script src="js/jquery-1.7.2.min.js"><\/script>')
Поскольку все библиотеки используют разметку $ keyword для создания экземпляра каждого вызова, нам нужно создать новую разметку. Затем для всех вызовов jquery нам нужно использовать нашу новую разметку. С помощью
var $jq = jQuery.noConflict();
Это создаст новую наценку
$jq