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

来源:互联网 发布:张伯礼 知乎 编辑:程序博客网 时间:2024/05/13 22:12
  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>


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


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;}

完整代码:

<!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>

实现效果:


阅读全文
0 0