Будет ли функция jQuery html () надежно выполнять любые содержащиеся в ней сценарии без каких-либо странных побочных эффектов? - PullRequest
0 голосов
/ 16 ноября 2009

Похоже, что в каком-то ограниченном тестировании, которое я провел, - если я загружу документ с помощью jQuery, используя .ajax(), а затем добавлю его в DOM с .html(data), будет выполнен любой тэг SCRIPT, содержащийся в документе HTML.

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

Редактировать: Просто для пояснения рассматриваемого javascript - это просто динамические данные, выраженные в JSON.

1 Ответ

2 голосов
/ 16 ноября 2009

Я бы рекомендовал отделить ваш javascript от вашей разметки и использовать вместо него $.getScript, чтобы быть в безопасности, например ::

$.get("blah.html", function(html) {
    $.getScript("blahscript.js", function(){
      alert("Script loaded and executed.");
      $("#myDiv").html(html);
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...