3
工作的图像在我的网站我使用的使用iframe一个所见即所得的编辑器。getSelection在Chrome
当我选择以一个链接到它双击文本,在Chrome,Safari和Firefox选定的文本是正确的,并添加了链接。
然而,当我点击图片代替,选择只在Firefox中进行。 Chrome和Safari有一个空的选择,为了选择图像并在其上添加链接,我必须将鼠标拖到它上面,就像手动选择一样。
我的代码是:
var sel = parent.document.getElementById('myframe').contentWindow.document.getSelection();
if (sel.rangeCount > 0) {
var range = sel.getRangeAt (0);
var docFragment = range.cloneContents();
var tmpDiv = document.createElement ("div");
tmpDiv.appendChild (docFragment);
selHTML = tmpDiv.innerHTML;
}
if (selHTML != '') {
parent.document.getElementById('myframe').contentWindow.document.execCommand(id,false,value);
}
有什么办法来解决这个问题呢?
在此先感谢。
我根据@Tim建议的代码更改为一个:
var iframeWin = parent.document.getElementById('myframe').contentWindow;
var iframeDoc = iframeWin.document;
var sel = iframeWin.getSelection();
var range = iframeDoc.createRange();
var referenceNode = document.getElementsByTagName("img").item(0);
range.selectNode(referenceNode);
sel.removeAllRanges();
sel.addRange(range);
parent.document.getElementById('myframe').contentWindow.document.execCommand(id,false,value);
但仍然没有工作。还有什么建议?
感谢您的答复。但是并不真正起作用。添加链接后点击,真正发生的是将图片上方的链接添加为文本,而不是图片。 – novellino 2012-04-23 10:41:38
@novellino:它实际上在链接创建失败之前选择了图像吗? – 2012-04-23 10:42:59
@novellino:在Chrome的工作对我来说:http://jsfiddle.net/x49hv/4/ – 2012-04-23 10:45:18