ueditor1.4.3二次开发添加自定义Dialog

具体实现我是参考官方给的customizeDialogPage.html、addCustomizeDialog.js俩个文件的demo来做的,但是很多具体细节没有描述清楚。

我使用的版本是Java版,ueditor 1.4.3版本.

js如下

UE.registerUI(‘dialog‘,function(editor,uiName){

    //创建dialog
    var dialog = new UE.ui.Dialog({
        //指定弹出层中页面的路径,这里只能支持页面,因为跟addCustomizeDialog.js相同目录,所以无需加路径
        iframeUrl:‘customizeDialogPage.html‘,
        //需要指定当前的编辑器实例
        editor:editor,
        //指定dialog的名字
        name:uiName,
        //dialog的标题
        title:"这是个测试浮层",

        //指定dialog的外围样式
        cssRules:"width:600px;height:300px;",

        //如果给出了buttons就代表dialog有确定和取消
        buttons:[
            {
                className:‘edui-okbutton‘,
                label:‘确定‘,
                onclick:function () {
                    dialog.close(true);
                }
            },
            {
                className:‘edui-cancelbutton‘,
                label:‘取消‘,
                onclick:function () {
                    dialog.close(false);
                }
            }
        ]});

    //参考addCustomizeButton.js
    var btn = new UE.ui.Button({
        name:‘dialogbutton‘ + uiName,
        title:‘dialogbutton‘ + uiName,
        //需要添加的额外样式,指定icon图标,这里默认使用一个重复的icon
        cssRules :‘background-position: -500px 0;‘,
        onclick:function () {
            //渲染dialog
            dialog.render();
            dialog.open();
        }
    });

    return btn;
}/*index 指定添加到工具栏上的那个位置,默认时追加到最后,editorId 指定这个UI是那个编辑器实例上的,默认是页面上所有的编辑器都会添加这个按钮*/);

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51

html代码如下

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
<div class="content">
    <h1>测试页面</h1>
    这里面可以写你自己需要的页面标签
</div>
<!--页面中一定要引入internal.js为了能直接使用当前打开dialog的实例变量-->
<!--internal.js默认是放到dialogs目录下的-->
<script type="text/javascript" src="../dialogs/internal.js"></script>
<script>
    //可以直接使用以下全局变量
    //当前打开dialog的实例变量
    alert(‘editor: ‘+editor);
    //一些常用工具
    alert(‘domUtils: ‘+domUtils);
    alert(‘utils: ‘+utils);
    alert(‘browser: ‘+browser);

    dialog.onok = function (){
        alert("我点击了确定");
        editor.execCommand(‘inserthtml‘, ‘<span>html code</span>‘);
        dialog.close();
    };
    dialog.oncancel = function () {
        alert("我点击了取消");
        editor.execCommand(‘inserthtml‘, ‘<span>html code</span>‘);
    };
</script>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

1.官方demo没有说明点击确定事件如何在html执行。添加上面的dialog.onok事件。

2.如果不想使用工具栏的icon样式,可以再修改

ueditor\themes\default\images\icons.png和icons.gif

再使用background-position定位;

3.最后一步记得在你使用ueditor编辑器的页面引入这个js文件。他会自动在你的工具栏添加你自定义Dialog

这个是ueditor的帮助文档。

http://ueditor.baidu.com/doc/#COMMAND.LIST

时间: 2024-10-20 12:38:47

ueditor1.4.3二次开发添加自定义Dialog的相关文章

NX二次开发-设置BlockUI对话框标题theDialog-&gt;TopBlock()-&gt;FindBlock(&quot;Dialog&quot;)-&gt;GetProperties()-&gt;SetString

这个知识我以前并不知道,我找过NXOPEN API里面并没有找到对应的方法.所以我就一直认为不能改,而且还和别人聊过,想过去用改文本的方式去改dlx文件里对应的标题名. 今天在我的QQ群里,看到有群友发了这个.学习了一下,也就顺便记录了下来. 出自群友:二次开发菜鸟 theDialog->TopBlock()->FindBlock("Dialog")->GetProperties()->SetString("Label","1234

shopnc二次开发(一)

---恢复内容开始--- 以前没有怎么接触过shopnc,感觉界面挺漂亮的,不过后来自己需要开发一个电商系统,就顺便参考了下,感觉构架垃圾的一塌糊涂.不过平时做这个系统二次开发的业务比较多,所以简单的总结下. shopnc有三款产品,b2b2c,c2c和o2o,用的同一个mvc框架和相同的开发规范,所以了解了其中一个,其他两款产品也就算理解了. shopnc使用的自己开发的mvc框架,粗略的看了下,还是比较简单的. 先从文件结构说起 ├─admin│ ├─config│ ├─control│ ├

[PC]PHPCMS二次开发指南(上)

------------------------------------------------------------------------------------- PHPCMS本身功能已经很完善,自带的模块可用可不用,松耦合特性使其非常适合企业的二次开发. PC的默认路由在 phpcms/caches/configs/route.php 中定义,为content模块下index控制器的init方法 一. PC所有模块都在module目录下,与数据表名字相同: module目录中文件就是控

Ecshop系统二次开发教程及流程演示

来源:互联网 作者:佚名 时间:03-01 16:05:31 [大 中 小] Ecshop想必大家不会觉得陌生吧,大部分的B2C独立网店系统都用的是Ecshop系统,很受用户的喜爱,但是由于Ecshop模板自带有很多Ecshop的Logo和版权信息,和一些其他需要修改的地方,所以我们需要对Ecshop系统做二次开发,下面就来看看具体操作步骤吧 一.Ecshop简介: ECShop是Comsenz公司推出的一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店.系统是基于PHP语言及MYSQ

[转] GIS二次开发(C#+AE)

乘风莫邪 原文GIS二次开发(C#+AE) 此过程描述了使用ArcGIS控件建立和部署应用的方法和步骤. 你可以在下面的目录下找到相应的样例程序: <</FONT>安装目录>/DeveloperKit/Samples/Developer_Guide_Scenarios/ ArcGIS_Engine/Building_an_ArcGIS_Control_Application/Map_Viewer 注:ArcGIS样例程序不包含在ArcGIS Engine开发工具包“典型”安装方式中

Catia 二次开发资料(转)

Catia 二次开发 CATIA V5在开发之初就遵循面向对象的设计思想(OO),构建了完全基于组件的体系结构(PPR: Products,Process,Resource),有效地解决了维护.管理.扩展的困难,并大量使用了最新的计算机技术和标准以及软件工程技术,其中包括基于组件架构思想的JAVA BEAN .COM/OLE.CORBA 技术和Web技术.C++语言.Visual Basic Journaling .STEP-SDAI.XML.OpenGL等,这使CATIA V5具有与众不同的鲜

NX二次开发-Block UI C++界面关于 在Block UI中UF_initialize();和UF_terminate();的使用

关于 在Block UI中UF_initialize();和UF_terminate();的使用 1 用Block UI作NX二次开发的时候,不需要在使用UFUN函数的时候加UF_initialize();和UF_terminate();. 2 可以直接加在CPP里这个位置: 3 4 extern "C" DllExport void ufusr(char *param, int *retcod, int param_len) 5 { 6 TwoPointCyl *theTwoPoin

微控工具xp模块-开发版[微信(wechat)二次开发模块]

http://repo.xposed.info/module/com.easy.wtool 微控工具xp模块-开发版[微信(wechat)二次开发模块] 基于xposed框架的微信二次开发模块,方便开发者用微信做一些扩展功能(如微信群发.多群直播等...) 目前支持功能: 发文本消息 发图片消息 发语音消息 发视频消息 获取微信好友列表 群列表 支持群发消息 支持消息转发(目前支持文本.图片.语音.视频.图文消息转发) 群管理功能(建群.加人.踢人.设置公告.改群名.退群.解散群) [注:本模块

浅析PHP的开源产品二次开发的基本要求

浅析PHP的开源产品二次开发的基本要求 第一, 基本要求:HTML(必须要非常熟悉),PHP(能看懂代码,能写一些小系统,如:留言板,小型CMS),Mysql(至少会一种数据库),Javascript(能看懂,能改现成的一些代码),Div+Css(能进行界面的调整,明白CSS是怎么使用的) 第二, 熟悉开源产品的使用,比如 Dedecms,你要知道怎么登录,怎么新建栏目,怎么添加文章,模板标签的使用方法,模型的概念和使用方法等等一些功能 第三, 要熟悉这个开源产品的数据库结构,还要理解里面核心文