Я создаю плагин jquery и хочу проверить, загружен ли внешний скрипт. Это для внутреннего веб-приложения, и я могу сохранить согласованное имя/расположение сценария (mysscript.js). Это также плагин ajaxy, который можно многократно вызывать на странице.Проверка загрузки внешнего скрипта
Если я могу проверить сценарий не загружен, я загрузить его с помощью:
jQuery.getScript()
Как проверить скрипт загружен, потому что я не хочу, один и тот же сценарий, загруженный на странице Дополнительные чем один раз? Это что-то, что мне не нужно беспокоиться из-за кеширования скрипта?
Update: Я не могу контролировать, кто использует этот плагин в нашей организации и не может быть в состоянии обеспечить соблюдение, что сценарий уже не на странице с или без определенного ID, но имя сценария всегда будет в одном и том же месте с тем же именем. Я надеюсь, что могу использовать имя скрипта, чтобы убедиться, что он загружен.
Из голосов, иначе я бы добавил +1 к этому ответу. – shanabus
Это был хороший ответ, к сожалению, метод jquery.getScript добавляет скрипт без указания источника. Поэтому я не смог его найти. Я использовал часть вашего ответа, чтобы решить эту проблему. +1. – AGoodDisplayName
@AGoodDisplayName В обратном вызове для '$ .getScript()' вы можете установить глобальный флаг, который можно проверить: '$ .getScript (', function() {window.myCustomFlag = true;}')'. Затем вы можете просто проверить наличие определенного элемента '
Создать тег сценария с определенным идентификатором, а затем проверить, существует ли этот идентификатор?
В качестве альтернативы, прокрутите теги скриптов, проверяющие скрипт 'src' и убедитесь, что они еще не загружены с тем же значением, что и тот, которого вы хотите избежать?
Edit: следуя обратной связи, пример кода будет полезно:
источник
2012-03-01 17:49:45 MyStream
+1 за хороший ответ, прежде чем вопрос был обновлен – zeroef
Это идеальное решение. Я рекомендую второй. –
Было бы здорово, если бы можно было поставить код с этими идеями. –
Этот поток находится в верхней части тегов SO jquery FAQ и имеет огромное разнообразие методов для проверки exisitng сценария
Best way to use Google's hosted jQuery, but fall back to my hosted library on Google fail
Много обратной связи на различных методах
источник
2012-03-01 17:57:53 charlietfl
хороший ответ, потому что еще один вопрос был в моей голове относительно CDN. +1 – AGoodDisplayName
Это было очень просто теперь, когда я понимаю, как это сделать, благодаря всем ответам для того, чтобы привести меня к решению. Мне пришлось отказаться от $ .getScript(), чтобы указать источник скрипта ... иногда делать вещи вручную лучше.
Решение
источник
2012-03-01 19:16:38 AGoodDisplayName
Другой способ проверить внешний скрипт загружается или нет, вы можете использовать данных функцию JQuery и хранить флаг проверки. Пример как:
источник
2014-06-12 04:37:32
Хорошо работает для того, что мне нужно. благодаря –
Объединение несколько ответов из выше в простой в использовании функции
источник
2017-06-15 19:53:35