如何在可编辑的iframe上设置插入位置?

Bru*_*oLM 2 javascript iframe caret contenteditable

我需要在contentEditable iframe上设置插入符号位置.它需要在Google Chrome和Firefox上运行(不需要IE).

我怎样才能做到这一点?

我试过了

var ifr = document.querySelector(".myIframe");
var idoc = ifr.contentDocument;
var ibody = ifr.contentDocument.body; // content: "teststring|"

var caret = 2;

var sel = ifr.contentDocument.getSelection();
var range = sel.getRangeAt(0);

var el = ibody;
range.setStart(el, caret);
range.setEnd(el, caret);
Run Code Online (Sandbox Code Playgroud)

Chrome上没有任何反应......我需要改变什么?

JCO*_*611 6

应该工作:

var ifr = document.querySelector(".myIframe");
var idoc = ifr.contentDocument;
var ibody = ifr.contentDocument.body; // content: "teststring|"

var caret = 2;

var sel = ifr.contentDocument.getSelection();
var range = sel.getRangeAt(0);

var el = ibody;
range.setStart(el, caret);
range.setEnd(el, caret);

sel.removeAllRanges();
sel.addRange(range);
Run Code Online (Sandbox Code Playgroud)

看看最后两行