Метод JQuery .html () и внешние скрипты - PullRequest
2 голосов
/ 21 марта 2010

Я загружаю, используя метод JQuery ajax () , внешнюю страницу с html и javascript кодом:

<script type="text/javascript" src="myfile.js"></script>
<p>This is some HTML</p>
<script type="text/javascript">
     alert("This is inline JS");
</script>

и установка результатов в элемент div, используя метод html () .

Хотя метод html () правильно оценивает встроенный код JS, он не загружает и не оценивает внешний файл JS "myfile.js".

Есть ли какие-либо советы по этому вопросу?

Ответы [ 2 ]

2 голосов
/ 21 марта 2010

Если вы управляете внешней страницей, вы можете изменить это

<script type="text/javascript" src="myfile.js"></script>

на

<script type="text/javascript" src="http://host/path/myfile.js"></script>

Демо: http://jsbin.com/ucomu3/3 загружает http://jsbin.com/otopi/3через $.ajax и устанавливает возвращенные данные через html() http://jsbin.com/otopi/3 содержит встроенный тег сценария и один с полным квалифицированным URL-адресом в атрибуте src, который указывает на http://jsbin.com/uyova3

Так что есливы открываете http://jsbin.com/ucomu3/3, вы видите «Это какой-то HTML» и два оповещения, которые говорят «Я - внешний локальный js» и «Это встроенный JS»

1 голос
/ 21 марта 2010

Попробуйте использовать абсолютный адрес в атрибуте src вашего <script>.

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