Jquery .html не работает со скриптом

Этот код вообще не работает в IE8. FF3 выполняется, но страница пуста и кажется, что загрузка не заканчивается.

Мой код:

$("#leaderBoard").html("<script2 language=\"javascript2\"> document.write('<scr'+'ipt language=\"javascript21.1\">alert(1)</scri'+'pt>'); </script2>".replace(/script2/gi, "script"));

Я хочу, чтобы объявление загружалось на страницу.

Вы пытаетесь загрузить скрипт, когда дом готов?

Eduardo Campañó 03.12.2008 13:48

Использование атрибута language ограничено. Вместо этого используйте type = "text / javascript". Кроме того, предпочтите DOM над document.write. Также ... используйте загрузчик скриптов jQuery или eval.

strager 03.12.2008 14:07
Асинхронная передача данных с помощью sendBeacon в JavaScript
Асинхронная передача данных с помощью sendBeacon в JavaScript
В современных веб-приложениях отправка данных из JavaScript на стороне клиента на сервер является распространенной задачей. Одним из популярных...
Принципы ООП в JavaScript
Принципы ООП в JavaScript
Парадигма объектно-ориентированного программирования имеет 4 основных принципа,
Laravel с Turbo JS
Laravel с Turbo JS
Turbo - это библиотека JavaScript для упрощения создания быстрых и высокоинтерактивных веб-приложений. Она работает с помощью техники под названием...
Слишком много useState? Давайте useReducer!
Слишком много useState? Давайте useReducer!
Современный фронтенд похож на старую добрую веб-разработку, но с одной загвоздкой: страница в браузере так же сложна, как и бэкенд.
Типы данных JavaScript
Типы данных JavaScript
В JavaScript существует несколько типов данных, включая примитивные типы данных и ссылочные типы данных. Вот краткое объяснение различных типов данных...
CSS Flex: что должен знать каждый разработчик
CSS Flex: что должен знать каждый разработчик
CSS Flex: что должен знать каждый разработчик Модуль flexbox, также известный как гибкий модуль разметки box, помогает эффективно проектировать и...
1
2
14 380
6

Ответы 6

Попробуйте обернуть свой код в

$(document).ready(function() {
 // your code here
});

Когда у вас уже есть jQuery, зачем все эти запутанные хлопоты?

Просто загрузите HTML-код объявления в объект leaderBoard, и все готово.

$(document).ready( function() {
  $("#leaderBoard").load("/ad_generator.php");
});

Где ad_generator.php будет создавать фрагмент HTML на основе некоторой схемы рандомизации.

Это работает для меня в FF3 и IE7:

$("#leaderBoard").html('<sc'+'ript language = "javascript1.1">alert(1);</sc'+'ript>');

Когда вы используете document.write после загрузки страницы, он заменяет весь документ (http://javascript.about.com/library/blwrite.htm). По сути, вы заменили содержимое своей страницы тегом скрипта, в результате чего он стал пустым.

Почему бы не попробовать использовать jQuery $ .getScript (); функция?

Http://docs.jquery.com/Ajax/jQuery.getScript

document.write()

Не работает с событием window.onload

Попробуйте этот код

 $('.myDiv').html('<script src = "path/to-add/provider"></script>');

Где-то в конце вашего документа Уведомление, что вам нужно избежать символа '/'

Попробуйте такой подход:

//////////////////function in page's script section

function aFunction (x) {

    ////script you want to execute

    alert(x);

}

//////////////////////in page's body

var d = $("<div />");
d.ready(function(){aFunction("x");});

Другие вопросы по теме