KindEditor 自定义插件:实现在内容编辑器中选中任意一张图片将其设置为文章封面缩略图

  1. 在需要显示编辑器的位置添加textarea输入框。
<textarea id="editor_id" name="editor_id" cols="80" rows="8">
&lt;strong&gt;HTML内容&lt;/strong&gt;
</textarea>

  1. 在该HTML页面添加以下脚本。
<script charset="utf-8" src="/editor/kindeditor.js"></script>
<script charset="utf-8" src="/editor/lang/zh-CN.js"></script>
<script>
       var editor;
			
			KindEditor.lang({
				piclinks : '设为封面缩略图'
		    });
	        KindEditor.ready(function(K) {
	                editor = K.create('#editor_id', {
		                	width : '100%', // 编辑器的宽度为70%
		    				height : '550px', // 编辑器的高度为100px
		    				filterMode : false, // 不会过滤HTML代码
		    				resizeMode : 0,
		    				pasteType : 1,
	                        resizeType : 2,
	                        items : ['source', '|', 'fullscreen', 'undo', 'redo', 'print', 'cut', 'copy', 
	                                 'paste','plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter',
	                                 'justifyright', 'justifyfull', 'insertorderedlist', 'insertunorderedlist', 
	                                 'indent', 'outdent', 'subscript','superscript', '|', 'selectall', '/',
	                                 'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor',
	                                 'bold','italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', 
	                                 '|', 'image', 'media', 'table', 'hr', 'emoticons', 'link', 'unlink', '|', 
	                                 'about','piclinks']
	                     
	                });
	        });
</script>


KindEditor 自定义插件:实现在内容编辑器中选中任意一张图片将其设置为文章封面缩略图

  1. 在KindEditor的目录下添加plugins/piclinks/piclinks.js文件。

KindEditor 自定义插件:实现在内容编辑器中选中任意一张图片将其设置为文章封面缩略图

piclinks.js代码如下:

KindEditor.plugin('piclinks', function(K) {
        var editor = this, name = 'piclinks';
        // 点击图标时执行
        editor.clickToolbar(name, function() {
        	debugger
        	var html = editor.selectedHtml();
        	if(html==""||html==null ||$(html)[0]==undefined){
        		alert("请选中一张图片!");
        		return false;
        	}
        	if(($(html)[0].tagName=="P" || $(html)[0].tagName!="IMG") && $(html).find("img").length<=0){
    			alert("请选中一张图片!");
        		return false;
    		}
        	if($(html).find("img").length>1){
        		alert("只能选择一张图片作为封面缩略图!");
        		return false;
        	}
        	
        	var imgSrc;
        	if($(html)[0].tagName=="IMG"){
        		imgSrc=$(html).attr("src");
        	}else{
        		imgSrc=$(html).find("img").attr("src");
        	}
        	var imgName=imgSrc.substring(imgSrc.lastIndexOf(".")-5);
        	$("#imageList").html("<a href='"+imgSrc+"' target='_blank' >"+imgName+"</a>");
        	var inputValue=imgSrc.substring(imgSrc.indexOf("/data"));
        	$("#piclinks").val(inputValue);
        });
});
  1. 4.定义工具栏图标的CSS,在页面的<style>标签里添加以下CSS
.ke-icon-piclinks {
        background-image: url(../skins/default/default.gif);
        background-position: 0px -672px;
        width: 16px;
        height: 16px;
}

KindEditor 自定义插件:实现在内容编辑器中选中任意一张图片将其设置为文章封面缩略图

完整代码:

<!doctype html>
<html>
        <head>
                <meta charset="utf-8" />
                <title>Piclinks</title>
                <style>
                        .ke-icon-piclinks {
                                background-image: url(../skins/default/default.gif);
                                background-position: 0px -672px;
                                width: 16px;
                                height: 16px;
                        }
                </style>
                <link rel="stylesheet" href="../themes/default/default.css" />
                <script charset="utf-8" src="../kindeditor.js"></script>
                <script charset="utf-8" src="../lang/zh-CN.js"></script>
                <script>
                        var editor;
			
			KindEditor.lang({
				piclinks : '设为封面缩略图'
		    });
	        KindEditor.ready(function(K) {
	                editor = K.create('#editor_id', {
		                	width : '100%', // 编辑器的宽度为70%
		    				height : '550px', // 编辑器的高度为100px
		    				filterMode : false, // 不会过滤HTML代码
		    				resizeMode : 0,
		    				pasteType : 1,
	                        resizeType : 2,
	                        items : ['source', '|', 'fullscreen', 'undo', 'redo', 'print', 'cut', 'copy', 
	                                 'paste','plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter',
	                                 'justifyright', 'justifyfull', 'insertorderedlist', 'insertunorderedlist', 
	                                 'indent', 'outdent', 'subscript','superscript', '|', 'selectall', '/',
	                                 'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor',
	                                 'bold','italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', 
	                                 '|', 'image', 'media', 'table', 'hr', 'emoticons', 'link', 'unlink', '|', 
	                                 'about','piclinks']
	                     
	                });
	        });
                </script>
        </head>
        <body>
                <textarea id="editor_id" name="editor_id" cols="80" rows="8">
        </body>
</html>

实现效果:

KindEditor 自定义插件:实现在内容编辑器中选中任意一张图片将其设置为文章封面缩略图