JQuery - как посмотреть, если сценарий с src «подстроки» уже существует в заголовке тега? - PullRequest
1 голос
/ 26 мая 2019

Я нахожусь в тупике, никогда не пробовал подобным образом, но есть ли решение, чтобы увидеть, существует ли тег тега с источником "x" в теге head?

В основном у меня естьсайт, который загружается во внешние плагины.Мой сайт загружается в jquery в тег head, и этот внешний плагин также загружает ту же версию jquery в тег head.Я хотел бы попытаться запустить сценарий, который проверяет источник всех существующих тегов сценария, и если их источник содержит подстроку «x», чтобы затем не загружать тег сценария, иначе, если тега сценария с этим источником не существует,иди и загрузи его.

Вот мой вариант использования.

Этот тег сценария существует в моем теге head

Внешний плагин помещает этот сценарий в мой тег head

Я хотел бы отредактировать плагин для запуска проверки чего-то вродеthis


if $ (здесь 'script [src = ", если эта строка содержит jquery-1.7.1.min.js"]'). length;> 0

тогда не загружайте этот скрипт в тег head, потому что он уже существует;

иначе загружайте этот скрипт в тег head, потому что он еще не существует;


Я хочу запустить такую ​​проверку, потому что этот плагин может также запускаться на веб-страницах клиентов, если на их доменах предварительно не установлен jquery.Вот и все, я хочу, чтобы он работал в обоих доменах.Были установлены jquery, а другие - нет.

У вас есть какие-нибудь идеи для этого?Если я смогу заставить это работать, я смогу использовать этот тип исправления и для других решений.


НАЙДЕНО РЕШЕНИЯ Сейчас я буду использовать это для решения этой проблемы.

if($('script[src$="jquery-1.7.1.min.js"]').length; > 0 ){
    then don't load script
}else{
    load script because its not on the page yet
}

В конце концов, сделаю эту функцию такой, чтобы я мог просто передать, будет ли файл JS отображать, есть ли они уже на странице или нет в будущих проектах.Это будет большая помощь.

1 Ответ

1 голос
/ 26 мая 2019

Я хочу запустить этот вид проверки, потому что этот плагин может также запускаться на веб-страницах клиентов, если на их доменах предварительно не установлен jquery.

Селекторы jQuery в 97% случаев работают так же, как обычные селекторы CSS, которые изначально работают с querySelector и querySelectorAll. Итак, просто используйте querySelector вместо:

const possibleScriptTag = document.querySelector('script[src$="jquery-1.7.1.min.js"]');
if (!possibleScriptTag) {
  // insert jQuery yourself
}

[src$="jquery-1.7.1.min.js"] означает "src, оканчивающийся на jquery-1.7.1.min.js".

...