#javascript #jquery
#javascript #jquery
Вопрос:
Я хотел бы импортировать jQuery в область IIFE следующим образом:
(function (window, document) {
"use strict";
/* Content of jquery.min.js goes here */
/* Code that uses $ goes here */
}(window, document));
Теперь я сталкиваюсь с нарушением строгого режима, как только выполняется этот код, возможно, потому, что сам jQuery не соответствует:
В коде строгого режима функции могут быть объявлены только на верхнем уровне или непосредственно в другой функции.
Есть ли способ загрузить jQuery только внутри одной области действия функции, сохраняя при этом строгий режим для остальной части кода, который полагается на него?
Комментарии:
1. Я понимаю, что может оказаться невозможным загрузить jQuery в изолированной области, поскольку он всегда касается window.jQuery и window. $ и, следовательно, быть глобальным.
Ответ №1:
Ответ здесь: https://github.com/jquery/jquery/issues/1779
jQuery не предназначен для запуска с использованием «use strict». Причину смотрите в комментарии в верхней части неминифицированного файла или посмотрите на http://bugs.jquery.com/ticket/13335 для получения дополнительной информации. Вы ничего не добьетесь, пытаясь принудительно перевести jQuery в строгий режим против его воли, это предотвращает взаимодействие с любыми сторонними библиотеками, которые не совместимы со строгим использованием.