|
|
|
| есть функция которая должна вставлять произвольный html во фрейм.
Работает в Opera,Mozilla
В IE всегда вставляеться код в начало фрейма в не зависимости от положения курсора
В Google Chrome вообще не вставляеться!
помогите разобраться с ошибками:
function Editor_HTML(html)
{
var isGecko = navigator.userAgent.toLowerCase().indexOf("gecko") != -1;
var iframe = (isGecko) ? document.getElementById("frame_editor") : frames["frame_editor"];
var iWin = (isGecko) ? iframe.contentWindow : iframe.window;
var iDoc = (isGecko) ? iframe.contentDocument : iframe.document
iWin.focus();
var sel = (iDoc.selection) ? iDoc.selection : iWin.getSelection();
var rng = (sel.createRange) ? (false ? false : sel.createRange()) : sel.getRangeAt(sel.rangeCount - 1);
if (rng && rng.pasteHTML) { // IE
rng.pasteHTML(html);
rng.collapse(false);
//rnd.select();
//iDoc.body.innerHTML += html;
} else if (rng && rng.insertNode && !isOpera) { // Gecko
var span = document.createElement("SPAN");
span.innerHTML = html;
rng.deleteContents();
rng.insertNode(span);
} else if (isOpera) { // Opera
var range = iWin.getSelection().getRangeAt(0);
var el = document.createElement("SPAN");
iDoc.getElementsByTagName("BODY")[0].appendChild(el);
range.deleteContents();
range.insertNode(el);
el.outerHTML = html;
} else iDoc.body.innerHTML += html;
}
|
| |
|
|