И снова здраствуйте! Я вернулся)
Вообщем порыскал в нете, почитал статьи. Попробовал пару методов.
Решил остановиться на таком:
var eId='iframe-id',iframe=document.createElement('iframe'),yss=document.getElementsByClassName('yui-skin-sam'),src='data:text/html;charset=utf-8,'+encodeURIComponent('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><title>Title</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><style type="text/css"><!-- @import url("http://site.com/css/main.css");--></style></head><body contenteditable="false" class="editable" style="background:none"></body></html>');
iframe.setAttribute('id',eId);
iframe.setAttribute('name',eId);
iframe.setAttribute('width','100%');
iframe.setAttribute('frameborder',0);
if(yss&&typeof yss[0]!='undefined'){
/*#Начало - Первый выриант
iframe.setAttribute('src','about:blank')
yss[0].appendChild(iframe);
if(iframe.contentDocument)doc=iframe.contentDocument;
else if(iframe.contentWindow)doc=iframe.contentWindow.document;
else if(window.frames[eId])doc=window.frames[eId].document;
if(doc){
doc.open();
doc.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><title>Title</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><style type="text/css"><!-- @import url("http://site.com/css/main.css");--></style></head><body contenteditable="false" class="editable" style="background:none"></body></html>');
doc.close();
box=doc.getElementsByTagName('body')
if(typeof box=='object'&&typeof box[0]=='object'){
box=box[0]
box.innerHTML='Hello World!'
}
else err()
alert(box)
}
#Конец - Первый вариант*/
/*Начало - Второй вариант*/
iframe.setAttribute('src',src)
yss[0].appendChild(iframe);
$('iframe#'+eId).load(function(){
if(iframe.contentDocument)doc=iframe.contentDocument;
else if(iframe.contentWindow)doc=iframe.contentWindow.document;
else if(window.frames[eId])doc=window.frames[eId].document;
win=document.getElementById(eId).contentWindow.window
box=$(this).contents().find('body').get(0)
alert(box)
$(box).html(Item[eId])
})
/*Конец - Второй вариант*/
}
Сейчас использую Второй вариант. Но он правильно вставляет только в мозилле и опере, возможно и в ие, но я еще не проверял и при alert(box) выводит HTMLObj. В хроме же выводит undefined, хотя тег head заполнен правильно, а в body пусто.
Первый вариант во всех работает одинаково: выводит [object HTMLBodyElement], тег head заполнен правильно, а в body пусто.
Подскажите как быть. Заранее спасибо!