2014-11-19 4 views
0

Я хотел бы создать iframe (используя jquery) и добавить его на свою страницу, но вместо указания атрибута src я хотел бы просто создать страницу самостоятельно в JavaScript/jQuery. Причина, по которой я делаю это, - это то, что я хотел бы создать приглашение для печати для одного изображения на странице, не открывая новое окно.Создайте iframe и содержимое iframe?

В принципе, я пытаюсь реализовать эту функцию печати: http://www.boutell.com/newfaq/creating/printpart.html Но без фактического открытия нового окна. Я хочу сделать это на одной странице со скрытым iframe.

Я хочу сделать что-то вроде этого:

function loadOtherPage() { 
    $("<iframe><html><body><img src='image.png'/><script>window.print</script></body></html></iframe>") 
     .hide() 
     .appendTo("body");  
} 

К сожалению, кажется, что IFrame получает создан, но с пустой головой и телом. Я не могу редактировать его после его создания из-за особенностей безопасности браузера.

ответ

1

Создать IFRAME как так:

var iframe = $('<iframe></iframe>') 

Затем добавьте IFRAME

$('body').append(iframe); 

Вы можете написать на его содержимое, как так:

var iframe_styles = iframe[0].contentWindow.document.write('<style>body{ background-color: #fafafa; }</style>'); 

Добавить некоторое содержание тела:

var iframe_content = iframe[0].contentWindow.document.write('<body>test</body>'); 
+0

Я получаю сообщение об ошибке iframe [0] .contentWindow, которая является нулевой в соответствии с Chrome. –

+0

Извините, вам пришлось добавить его первым. Я обновил свой ответ – elzi

+0

Красивый! Наконец, эта работа. Огромное спасибо! –

Смежные вопросы