Как настроить jQuery, чтобы внешние сценарии (src="...") оставались внешними при внедрении разметки с помощью .html()?Javascript

Форум по Javascript
Гость
Как настроить jQuery, чтобы внешние сценарии (src="...") оставались внешними при внедрении разметки с помощью .html()?

Сообщение Гость »


Я заметил это, когда использовал метод .html('...') jQuery для вставки разметки, содержащей внешний , jQuery не вставляет тег script непосредственно в DOM как есть. Вместо этого он сначала извлекает содержимое скрипта, а затем генерирует новый тег inline , содержащий исходное содержимое.

Другими словами, если вставленный HTML-код содержит:

jQuery преобразует его в:

... содержимое xyz.js ... Однако, поскольку моя политика безопасности контента (CSP) запрещает теги встроенных сценариев, браузер теперь отказывается выполнять этот сценарий. Я понимаю, что jQuery должен анализировать теги скриптов, поскольку установка HTML через .innerHTML не будет выполнять скрипты, содержащиеся в разметке. Но почему внешний скрипт трансформируется во встроенный? Есть ли способ настроить здесь поведение jQuery или мне придется переопределить .html() самостоятельно?

Вернуться в «Javascript»