document.write из внешнего скрипта не выполняется в iframe, созданном с помощью javascript / jQuery

0

Я хочу добавить и удалить iframe в документе с помощью javascript/jquery (на самом деле iframe следует добавить и удалить, если пользователь решил закрыть его).

В этом iframe я должен включить внешний скрипт, используя элемент, скрипт, который содержит в основном сгенерированный контент, отображаемый с помощью document.write (ротатор объявления).

Проблема заключается в том, что при загрузке iframe элемент включается, но его содержимое не интерпретируется, поэтому содержимое не записывается с помощью document.write.

Я не знаю, чего здесь не хватает.

Вот что я пробовал (вдохновленный другими ответами на SO):

HTML:

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="/jquery-10.2.js"></script>
        <script src="/frame.js"></script>
    </head>
    <body>
        <div>Some content</div>
        <div id=myFrameContainer>​</div>​​​​​​​
    </body>
</html>

/frame.js:

$(document).ready(function(){
    $('<iframe></iframe>', {name:"myFrame",id:"myFrame"})
        .css("height", 300)
        .css("width", 500)
        .load(function() {
            $(this).contents().find("body")
                .append('<scr' + 'ipt type="text/javascript" src="http://example.com/rotator.php?affid=12345"></scr' + 'ipt>');
            }).appendTo("#myFrameContainer");
});

Я также попытался добавить элемент в голову, а также без каких-либо успехов.

Кроме того, я могу видеть контент, созданный внешним скриптом Firebug (но, возможно, это абсолютно нормально и не имеет никакого отношения к моему вопросу).

Теги:
dom
iframe

1 ответ

0

document.write доступен только во время загрузки страницы или после вызова document.open. Он не может использоваться из сценария, добавленного позже, как вы делаете в /frame.js.

  • 0
    Так нет способа сделать это?
  • 0
    В прошлый раз у меня было что-то, что использовало document.write , я использовал эту технику: stackoverflow.com/a/13775353/2101267
Показать ещё 1 комментарий

Ещё вопросы

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