jQuery.load не выполняет JavaScript с document.write

Я пытаюсь использовать jQuery. Загрузитесь для загрузки вызова рекламы, который имеет document.write и по некоторым причинам, который не в состоянии к, или в Firefox по крайней мере, перезагружает страницу со всей рекламой.

Вот упрощенная версия кода.

DynamicLoad.html

<html>
<head>
<script src="http://www.prweekus.com/js/scripts.js?3729212881" type="text/javascript"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery Load of Script</title>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
   google.load("jquery", "1.3.2");
</script>
<script type="text/javascript">
   $(document).ready(function(){
    $("#myButton").click(function() {
        $("#myDiv").load("source.html");
    });
   });
</script>
</head>
<body>
<button id="myButton">Click Me</button>
<div id="myDiv"></div>

<div id="slideAdUnit"></div>

</body>
</html>

Source.html

<script language="javascript" type="text/javascript">
  document.write('<script language="javascript" type="text/javascript"><\/script>');
</script>
test

После того как Вы нажимаете кнопку в FF, браузер просто ожидает чего-то для загрузки. Какие-либо мысли?

В конечном счете я передал бы src элемент в document.write, который указывает на наш сервер рекламы.

Спасибо за помощь.

5
задан Garfield 13 April 2010 в 16:38
поделиться

3 ответа

Вы не можете использовать document.write после того, как страница завершила загрузку: он заменит содержимое страницы, если вы это сделаете.

Самый простой способ динамически загрузить скрипт с помощью jQuery:

$.getScript( url );

Другой способ - создать новый элемент