Почему включение 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 не работает должным образом.

Есть как минимум три способа решения этой проблемы:

  1. Включая CDN только один раз (наиболее очевидное решение).

  2. Проверьте, загрузили ли мы уже jquery или нет. Используя следующую строку кода:

    window.jQuery || document.write('<script src="js/jquery-1.7.2.min.js"><\/script>')
    
  3. Поскольку все библиотеки используют разметку $ keyword для создания экземпляра каждого вызова, нам нужно создать новую разметку. Затем для всех вызовов jquery нам нужно использовать нашу новую разметку. С помощью

    var $jq = jQuery.noConflict();
    

    Это создаст новую наценку $jq

Другие вопросы по тегам