Как настроить jQuery, чтобы внешние сценарии (src="...") оставались внешними при внедрении разметки с помощью .html()? ⇐ Jquery
-
Гость
Как настроить jQuery, чтобы внешние сценарии (src="...") оставались внешними при внедрении разметки с помощью .html()?
Я заметил это, когда использовал метод .html('...') jQuery для вставки разметки, содержащей внешний , jQuery не вставляет тег script непосредственно в DOM как есть. Вместо этого он сначала извлекает содержимое скрипта, а затем генерирует новый тег inline , содержащий исходное содержимое.
Другими словами, если вставленный HTML-код содержит:
jQuery преобразует его в:
... содержимое xyz.js ... Однако, поскольку моя политика безопасности контента (CSP) запрещает теги встроенных сценариев, браузер теперь отказывается выполнять этот сценарий. Я понимаю, что jQuery должен анализировать теги скриптов, поскольку установка HTML через .innerHTML не будет выполнять скрипты, содержащиеся в разметке. Но почему внешний скрипт трансформируется во встроенный? Есть ли способ настроить здесь поведение jQuery или мне придется переопределить .html() самостоятельно?
Я заметил это, когда использовал метод .html('...') jQuery для вставки разметки, содержащей внешний , jQuery не вставляет тег script непосредственно в DOM как есть. Вместо этого он сначала извлекает содержимое скрипта, а затем генерирует новый тег inline , содержащий исходное содержимое.
Другими словами, если вставленный HTML-код содержит:
jQuery преобразует его в:
... содержимое xyz.js ... Однако, поскольку моя политика безопасности контента (CSP) запрещает теги встроенных сценариев, браузер теперь отказывается выполнять этот сценарий. Я понимаю, что jQuery должен анализировать теги скриптов, поскольку установка HTML через .innerHTML не будет выполнять скрипты, содержащиеся в разметке. Но почему внешний скрипт трансформируется во встроенный? Есть ли способ настроить здесь поведение jQuery или мне придется переопределить .html() самостоятельно?
Мобильная версия