Сохраняет ли .load () встроенный JavaScript при извлечении контента? - PullRequest
1 голос
/ 09 марта 2011

Например, $('#f').load('http://foobar.com #content'); сохраняет или удаляет встроенный JavaScript, такой как onclick="..."?

1 Ответ

3 голосов
/ 09 марта 2011

Он отбрасывает теги сценариев, и не не выполняет сценарии, когда вы используете ".load ()" в этой форме - с селектором, прикрепленным к URL-адресу, подобному этому.

См. этот отчет об ошибках jQuery для получения дополнительной информации.

Когда вы используете ".load ()" с просто URL:

$('#f').load('http://foobar.com', function () { ... });

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

edit - Перечитывая ваш вопрос через мою утреннюю дымку перед кофеином, я вижу, что вы спрашиваете конкретно о встроенном JavaScript в атрибутах элемента, например "onfoo "обработчики событий.Насколько я знаю, они абсолютно безопасны, независимо от того, какой тип DOM-споров вы запрашиваете у jQuery (кроме, конечно, явного влияния на атрибуты).То, что я написал выше, относится к встроенным тегам <script> в разметке HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...