tinyMCE自定义添加图片插件

需求:

在富文本编辑器中插入图片,图片来自用户可以自己上传的图片库。

本来可以用比较恶心的方式,也就是直接用tinyMCE自带的插入图片插件来实现。恶心是因为这个图片插件需要用户填入图片的url。

想来想去,虽然是内部管理平台产品1期,但作为一个21世纪的程序猿做这样的事儿太low了,而且也怕被同事围殴,还是看了看tinyMCE的插件文档以及官方的image插件。

plugin.js

tinymce.PluginManager.add(‘imageSelector‘, function(editor, url) {
    // Add a button that opens a window
    editor.addButton(‘imageSelector‘, {
        icon: ‘image‘,
        tooltip:"select image from image lib",
        onclick: function() {
            editor.settings.imageSelectorCallback(function(r){
                console.log(‘inserting image to editor: ‘+ r);
                editor.execCommand(‘mceInsertContent‘, false, ‘<img alt="Smiley face" height="42" width="42" src="‘ + r + ‘"/>‘);
            });
        }
    });

});

写完并测试后觉得挺简单的,基本只要execCommand就搞定图片插入了。

本来还担心图片的缩放功能是image自己实现的,测试后发现完全不用担心了:插入进去的图片已经可以缩放调整大小了,赞!

调用页面的js


    var imageSelector;    var imageSelectedCallback = null;    function showImageSelector(cb){        imageSelectedCallback = cb;        imageSelector = new ImageSelector(‘#imageSelectorDiv‘, {}, function(type, data){  // 初始化图片选择弹窗        });        $(‘#imageSelectorPop‘).modal({keyboard: true, backdrop: ‘static‘});    }

    function insertImage(){        if(imageSelector.selectedItems.length == 0)            return ;

        imageSelectedCallback(imageSelector.selectedItems[0].url);   // 调用插件内部回调把图片插入到编辑器中        $(‘#imageSelectorPop‘).modal(‘hide‘);    }
tinymce.init({
            selector: ‘.richEditor‘,
            width: 820,
            height: 200,
            plugins: [
                ‘advlist autolink lists link imageSelector hr‘,
                ‘visualblocks visualchars code‘,
                ‘textcolor colorpicker textpattern‘
            ],
            toolbar: ‘styleselect | forecolor backcolor | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link imageSelector‘,
            imageSelectorCallback: showImageSelector,  // 点击编辑器上的图片按钮后的回调方法
            setup: function(editor) {
                editor.on(‘init‘, function(e) {        // tinyMCE初始化完成事件
                    tinyMCE.editors[0].setContent(‘<%-topic.content%>‘);  // 设置之前编辑的内容
                });
            }
        });

基本上是插件外部和内部都保留对方的一个callback,双方在事件发生时互相调用。

时间: 2024-11-07 07:19:40

tinyMCE自定义添加图片插件的相关文章

Tinymce 编辑器添加自定义图片管理插件

在使用Tinymce的过程中需要用到图片上传功能,而提供的上传插件在上传文件后是给了一个连接地址,就想用户需要什么图片,不能用最直观的方式表现出来么! 虽然官网上也有一个文件管理的插件moxiemanager,可奈何他是收费的!https://www.tiny.cloud/docs/plugins/moxiemanager/ 然后就打算自己弄一个,其实实现效果起来很简单,就只是做了一个类型相册管理的功能,然后在点击图片的时候,将图片的地址信息插入到编辑器里就行了,由于后台用的是layui 的框架

改善用户体验之wordpress添加图片弹出层效果 (插件 FancyBox)

下面说说在改善用户体验之wordpress添加图片弹出层效果.效果图如下: 像这篇文章如何在百度搜索结果中显示网站站点logo? 文章内有添加图片,没加插件之前用户点击图片时,是直接_black打开新窗口到 图片地址,非常不友好,很不和谐!添加wordpress添加图片弹出层效果之后如上所示效果.逼格瞬间提高! 打造这个效果的这款插件名称是FancyBox for WordPress

jQuery自定义滚动条样式插件mCustomScrollbar

如果你构建一个很有特色和创意的网页,那么肯定希望定义网页中的滚动条样式,这方面的 jQuery 插件比较不错的,有两个:jScrollPane 和 mCustomScrollbar. 关于 jScrollPane,大家见过的可能比较多,但是这个插件太过于古老而且功能不强大,效果在几年前非常不错,但是放在现在就不好说了.所以我选择了后者:mCustomScrollbar.下图是两者官方示例的简单对比: 本文就是介绍如何使用 mCustomScrollbar 这个插件,大部分的内容是翻译自 mCus

jquery-qrcode客户端二维码生成类库扩展--融入自定义Logo图片

年后换了部门,现在主要的职责就是在网上卖精油,似乎这个就是传说中的网络营销. 跟着公司的MM们也了解不了少关于网络营销的知识,间接的了解到马云和刘强东都是些怎样龌龊的人,尽管之前也这样认为. 淘宝就不多说了,全球最大的中文假货销售平台(尽管淘宝没有打出全球中文等字样,可是其必须当之无愧).百度,当当等厚颜无耻之徒的明智之举就在于此,老外做的再大也很少会有直接支持中文的,因此他们都会在其名称前增加:“全球最大的中文”等字样,为自己镶金. 之前还一直比较力挺京东的,认为其根本自营根本不会销售假货,所

在Button上、下、左、右位置添加图片和文字

转载请注明出处:http://blog.csdn.net/droyon/article/details/37564419 很多人有如标题所述的需求,而且大多数人采用了自定义组件解决了需求,其实还可以有更"懒"的方法. 1.先附效果图: 2.方案. 首先,Activity.java public class MainActivityTest extends Activity{ @Override protected void onCreate(Bundle savedInstanceSt

自定义圆角图片控件(Xfermode方式)

苹果都放弃自己的棱角了... 看惯了方方正正的图片,乍一看到圆角图片觉得挺漂亮的.可当满世界都是圆角图片的时候,我又开始怀念那些棱角了~之前仓促的写过一个,今天拿过来又修改了一下,现在贴在这里,以方便以后ctrl+c.ctrl+v~~~~~ 一.目标 自定义一个图片控件,有圆形和圆角两种选择.控件的行为和ImageView一致! 二.思路 扩展ImageView控件,重写其onDraw方法.一开始还想重写onMeasure方法,如果显示圆形图片强制宽高相等,没能行得通(代码中会说明).圆角图片以

为Kindeditor控件添加图片自动上传功能

Kindeditor是一款功能强大的开源在线HTML编辑器,支持所见即所得的编辑效果.它使用JavaScript编写,可以无缝地与多个不同的语言环境进行集成,如.NET.PHP.ASP.Java等.官方网站可以查看这里:http://kindeditor.net/index.php Kindeditor本身提供了许多非常实用的插件,由于代码开源,开发人员可以根据需要对其进行任意扩展和修改. 在使用Kindeditor编辑网站内容时考虑这样一个场景:编辑人员往往会从其它页面或者Word文档将内容复

UIButton状态:添加图片:

UIButton状态:UIControlStateNormal          // 正常状态  UIControlStateHighlighted     // 高亮状态  UIControlStateDisabled        // 禁用状态   UIControlStateSelected        // 选中状态   UIControlStateApplication     //    UIControlStateReserved        // 保留状态UIButton

如何在PDF文档内容中插入/添加图片文件

现在很多人都会使用PDF格式文件,但是却很少会有人知道怎么编辑这种文件,我们所见的PDF格式文档是一种及其特殊的文件,这种文不论是修改还是编辑都非常的困难,因此,如果我们需要在PDF文件中插入图片的话该怎么做呢?今天小编就来为大家详细的介绍下如何使用专业软件在PDF文件中插入图片! 需要使用的软件是迅捷PDF编辑器,是一款专业的PDF编辑软件,下载很简单,只要在浏览器上搜索到迅捷PDF编辑器是官方网站,点击软件下载后选择下路径就可以了.安装运行也极为简单,还要按照提示点击下一步就可以了,在官网下