Различия в jQuery.load (url) с полным документом и частичным документом со скриптами

0

jQuery.load(url) ли jQuery.load(url) возможность запуска скриптов в содержимом url, когда контент является фрагментом страницы?

Например, когда содержимое возвращается ниже, встроенные скрипты выполняются.

<html>
    <body>
        <script>
        </script>  
        <table>
        </table>
   </body>
</html>

Однако, когда содержимое возвращается в следующем формате, сценарии не запускаются (обратите внимание: внешних ссылок в сценариях нет)

<script>
</script>  
<table>
</table>

я использую

$('#myDiv').load(contentUrl); 

Благодаря,

  • 1
    Вы уже проверили этот ответ ? Может быть, это помогает :)
  • 1
    Сценарии выполняются в браузере, а страницы, загружаемые с помощью вызовов AJAX, извлекаются непосредственно с веб-сервера в виде простого текста. Я бы настоятельно не рекомендовал запускать скрипты, загруженные с другой страницы. Если сценарии ваши, включите их на своих страницах и при необходимости включите их.
Теги:

1 ответ

1
Лучший ответ

Если вы TRUST, источник нагрузки, то вы можете сделать это:

$('#myDiv').load(contentUrl, function(){
   $(this).find('script').each(function(){
     eval(this);
   });
});  

Обратите внимание, что я сказал TRUST.

  • 0
    Да, я понимаю, что вы говорите о доверии. И спасибо, после двух дней вращения моих колес ваш ответ сработал для меня. Однако, это только доказало, что я думал, могло иметь место. Скрипт в контенте замедляет рендеринг при размещении в DOM. Я пытался уйти от использования iframe, где изображения контента были изменены, и контент рендерился за 2 секунды. Использование div.load () и div.html () занимает 15 секунд с одинаковым содержимым при оценке сценариев :(

Ещё вопросы

Сообщество Overcoder
Наверх
Меню