2 qq 31198711 qq_31198711 于 2016.04.23 17:10 提问

在光标位置后插入图片问题

我使用了

 document.execCommand("insertImage", false,html);

但是这个html只能是图片的url ,现在我想在光标位置插入图片。
一个思路是先插入图片在用正则匹配替换,但是我的图片scr的值用了base64编码 很长,用

 var reg=new RegExp('<img src="'+html+'">','gi'); 

这正正则匹配说表达式错误。
请问有什么好办法吗?
直接在光标位置插入图片

1个回答

showbo
showbo   Ds   Rxr 2016.04.23 19:54

用inserthtml,ie需要range对象,看这个:http://blog.csdn.net/yiluoak_47/article/details/7547129

已经有现成的编辑器了,干嘛要自己写,ckeditor,kindeditor,ueditor这种一大把


function insertHTML( sHtml )
{
           _win.focus(); 
           if(   $.browser.msie ){
                  _doc.selection.createRange().pasteHTML( sHtml ) ;
           }else{ 
                  _doc.execCommand( 'InsertHtml' , '' , sHtml );
           }

}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
向html编辑器光标所在处插入图片
function insertHTMLToEditor(imgurl){ var myEditor = document.getElementById("myEditor").contentWindow, doc = myEditor.document, r = doc.selection ? doc.selection.createRange() : null;
可编辑的div中光标位置插入对应内容(img,字符串------)
>   html>   head>       meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>       title>UMEDITOR 简单功能title>       meta http-equiv="Content-Type" content="text/html; charset=utf-8"/
JS在可编辑的div中的光标位置插入内容或表情
INSERTED');" /> function insertHtmlAtCaret(html) { var sel, range; if (window.getSelection) { // IE9 and non-IE sel = window.getSelection();
JQuery在光标位置插入内容
1 (function($) { 2 $.fn.extend({ 3 insertAtCaret: function(myValue) { 4 var $t = $(this)[0]; 5 //IE 6 if (document.selection) { 7
在光标位置插入图片
//场景一 简易的页面可以这样写var range = window.getSelection().getRangeAt(0);range.insertNode(document.createTextNode(&quot;插入的值&quot;));//场景二 如果需要插入HTML文本,考虑到在弹出框中插入的场景,因此修改为如下方式var range;//记录光标位置对象var node = window.getSel...
EditText--在EditText中显示图片,控制光标的位置,以及操作光标位置的元素
public class MainActivity extends AppCompatActivity { private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
jQuery 在光标定位的地方插入文字的插件
核心代码:  复制代码代码如下: (function($){  $.fn.extend({  "insert":function(value){  //默认参数  value=$.extend({  "text":"123"  },value);  var dthis = $(this)[0]; //将jQuery对象转换为DOM元素  //IE下  if(doc
js在contenteditable="true"文本框光标处插入内容
本文实例讲述了如何在div contenteditable文本框光标处插入内容
js实现在光标的位置 添加内容
原生js的方法: ? "utf-8"> 无标题文档         "text/javascript">   function setCaret(textObj) {     if (textObj.createTextRange) {         textObj.caretPos = document.selec
Vue中div contenteditable 的光标定位
在Vue做项目时,做了一个div[contenteditable=true]的组件作为文本输入框在非手动输入值后,光标会丢失,经测试以下这段代码可用,直接将光标定位到最后function keepLastIndex(obj) { console.log(obj) console.log(window.getSelection) console.log...