| like2dev | 
			21.09.2011 08:07 | 
		 
		 
		
		 
		
		
			не работает range в ie   
		
		
		
		Есть такой код, с помощью которого вставляются смайлы в iframe. Но почему-то он не хочет отрабатьывать в ie. Пишет что marker = null. 
То есть не может найти span с ид. Ид генерируется нормально проверял. 
Единственное незнаю, как проверить попал ли текст в rng. Еще одно замечание, то что если в ифрейме выделен текст какой-то, то все отлично отрабатывает.
 
var overwriteWithNode = (window.getSelection)?w3_overwriteWithNode:ie_overwriteWithNode;
function ie_overwriteWithNode(editWindow, node) {
    var rng = editWindow.document.selection.createRange();
    var marker = writeMarkerNode(editWindow, rng);
    marker.appendChild(node);
    marker.removeNode(); // removes node but not children
}
// writes a marker node on a range and returns the node.
function writeMarkerNode(editWindow, rng) {
    var id = editWindow.document.uniqueID;
    var html = "<span id='" + id + "'></span>";
    rng.pasteHTML(html);
    var node = editWindow.document.getElementById(id);
    return node;
}
 
	 |