如何在tinymce中的光标位置插入图像

如何在tinymce中的光标位置插入图像

问题描述:

我正在使用以下代码来获取tinymce的内容。如何在tinymce中的光标位置插入图像

tinymce_content=tinyMCE.get('txt_area_id').getContent(); 
updated_content=tinymce_content+"<img src="sample.jpg">"; 

通过使用上述代码,我在tinymce内容中插入图像。

问题:如何在tinymce(即)内的光标位置插入图像如何预测光标位置并拆分内容以在获取的内容之间插入图像。

预先感谢

这将在TinyMCE的编辑

var ed = tinyMCE.get('txt_area_id');    // get editor instance 
var range = ed.selection.getRng();     // get range 
var newNode = ed.getDoc().createElement ("img"); // create img node 
newNode.src="sample.jpg";       // add src attribute 
range.insertNode(newNode);       // insert Node 
+1

大,每当我感到TinyMCE的斗争,我记得thariama谢谢 – 2011-03-04 12:03:51

+0

很高兴能够提供帮助 – Thariama 2011-03-04 12:13:08

+0

只是为了让这个已经很棒的帖子更清晰一点......要刷新图片并确保它能够正确呈现,您必须确保您在tinyMCE中创建元素DOM不是窗口DOM。所以,如果你使用'createElement'确保你做了'opener.tinyMCE.selectedInstance.getDoc()。createElement'。 – Stewart 2013-01-29 04:45:45

@Thariama's answer在Chrome工作得很好,我插入在所选择的点(光标位置)的图像节点,但不是在IE。我不得不把它修改为以下让它在两个浏览器的工作:

var ed = tinyMCE.get('txt_area_id');    // get editor instance 
var newNode = ed.getDoc().createElement ("img"); // create img node 
newNode.src="sample.jpg";       // add src attribute 
ed.execCommand('mceInsertContent', false, newNode.outerHTML) 

(IE告诉我,range没有一个insertNode方法。)

+0

这两个解决方案不工作我。我的IE说:“SCRIPT16389:Erronãoespecificado。”这意味着“错误没有在英文中指定...使用IE9和微小的3.4 – Filipiz 2012-09-15 19:05:27

+0

我使用的是tinymce 4.0。它在IE10中工作正常,但在IE11 SCRIPT16389中出现跟随错误:函数不正确 文件:tinymce.min.js,行:8,专栏:20915你能帮我解决吗? – 2014-11-19 07:14:59