TinyMCE汉化及本地上传图片功能实例详解


Posted in Javascript onMay 31, 2016

TinyMCE我就不多介绍了,这是下载地址:https://www.tinymce.com/download/

下载下来是英文版,要汉化也很简单。

首先去网上随便下载个汉化包,然后把汉化包解压后的langs文件夹里的zh_CN.js拷到你下载的TinyMCE的langs文件夹中就行。最后在 tinymce.init中加上”language: "zh_CN","(后面会贴出代码)

本地图片上传我用到了Jquery中的uploadify和UI,所以需要引用jquery.uploadify.min.js和jquery-ui.js

Jquery中uploadify有基于flash和基于HTML两个版本,后者是要$5。。。这个,,我还是用的基于flash的。

那么还需要添加swfobject.js引用。这些引用的下载就不贴了,网上很多很多。

基本介绍完了,下面直接看代码:

<style type="text/css">
.mceuploadify{
display:block;
} 
</style>
<link rel="stylesheet" href="@Url.Content("~/uploadify/uploadify.css")"/>
<script type="text/javascript" src="@Url.Content("~/Content/js/history.js")"></script>
<script type="text/javascript" src="@Url.Content("~/tinymce_4.3.12/tinymce/js/tinymce/tinymce.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui.js")"></script>
<script type="text/javascript" src="@Url.Content("~/uploadify/jquery.uploadify.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/uploadify/swfobject.js")"></script>
<script type="text/javascript">
$(document).ready(function () {
var tinymceEditor;
tinymce.init({
selector: "textarea#Content",
auto_focus: "Content",
language: "zh_CN",
theme: "modern",
plugins: [
"advlist autolink lists link image charmap preview",
"searchreplace visualblocks fullscreen",
"insertdatetime media table contextmenu paste",
"emoticons textcolor"
],
toolbar1: "undo redo | styleselect | fontselect | fontsizeselect | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent",
toolbar2: "fullscreen preview | forecolor backcolor emoticons | table | link image media | mybutton",
setup: function (editor) {
editor.addButton('mybutton', {
text: '上传图片',
icon: false,
onclick: function () {
tinymceEditor = editor;
$("#uploadofedit").dialog({
modal: false,
resizable: false,
width: 400,
height: 200,
dialogClass: "mceuploadify"
});
}
});
},
//TinyMCE 会将所有的 font 元素转换成 span 元素
convert_fonts_to_spans: true,
//换行符会被转换成 br 元素
convert_newlines_to_brs: false,
//在换行处 TinyMCE 会用 BR 元素而不是插入段落
force_br_newlines: false,
//当返回或进入 Mozilla/Firefox 时,这个选项可以打开/关闭段落的建立
force_p_newlines: false,
//这个选项控制是否将换行符从输出的 HTML 中去除。选项默认打开,因为许多服务端系统将换行转换成 <br />,因为文本是在无格式的 textarea 中输入的。使用这个选项可以让所有内容在同一行。
remove_linebreaks: false,
//不能把这个设置去掉,不然图片路径会出错
relative_urls: false,
//不允许拖动大小
resize: false,
font_formats: "宋体=宋体;黑体=黑体;仿宋=仿宋;楷体=楷体;隶书=隶书;幼圆=幼圆;Arial=arial,helvetica,sans-serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",
fontsize_formats: "8pt 10pt 12pt 14pt 18pt 24pt 36pt"
});
$("#tinymceuploadify").uploadify({
'swf': '/uploadify/uploadify.swf',
'buttonText': '上传本地图片',
'uploader': '/Home/Upload',
'auto': true,
'fileTypeExts': '*.gif; *.jpg; *.png',
'method': 'post',
'multi': false,
'onUploadSuccess': function (event, data, flag) {
var img = "<img src='../../../UploadImg/" + data + "'>";
tinymceEditor.insertContent(img);
setTimeout(function () {
$("#uploadofedit").dialog('close');
}, 1000);
},
'onUploadError': function () {
setTimeout(function () {
$("#uploadofedit").dialog('close');
}, 1000);
alert("上传失败");
}
});
});
</script> 
<div>
<form method="post" action="/Home/">
<textarea id="content" name="content" style="width: 100%; height: 600px;"></textarea>
<input type="submit" value="提交" />
</form>
</div>
<div id='uploadofedit' style="display: none;">
<input type='file' name='tinymceuploadify' id='tinymceuploadify' />
<label>只能上传单张10M以下的 png、jpg、gif 格式的图片</label>
</div>

说明:

$("#tinymceuploadify").uploadify({
'swf': '/uploadify/uploadify.swf',
'buttonText': '上传本地图片',
'uploader': '/Home/Upload',
'auto': true,
'fileTypeExts': '*.gif; *.jpg; *.png',
'method': 'post',
'multi': false,
'onUploadSuccess': function (event, data, flag) {
var img = "<img src='../../../UploadImg/" + data + "'>";
tinymceEditor.insertContent(img);
setTimeout(function () {
$("#uploadofedit").dialog('close');
}, 1000);
},
'onUploadError': function () {
setTimeout(function () {
$("#uploadofedit").dialog('close');
}, 1000);
alert("上传失败");
}
});

这段代码中的参数,如‘swf','uploader','fileTypeExts‘这几个重要的参数

得根据自己下载的jquery.uploadify.js的版本来确定。具体可以去看官方的说明文档。

以上所述是小编给大家介绍的TinyMCE汉化及本地上传图片功能实例详解,希望对大家有所帮助,如果大家想了解更多内容敬请关注三水点靠木网站。

Javascript 相关文章推荐
js中格式化日期时间型数据函数代码
Nov 08 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
Oct 27 Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
May 16 Javascript
jQuery实现切换字体大小的方法
Mar 10 Javascript
javascript基本包装类型介绍
Apr 10 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
Jul 27 Javascript
详解JavaScript对象序列化
Jan 19 Javascript
javascript正则表达式之分组概念与用法实例
Jun 16 Javascript
Bootstrap使用基础教程详解
Sep 05 Javascript
JavaScript选择排序算法原理与实现方法示例
Aug 06 Javascript
优雅地使用loading(推荐)
Apr 20 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
Aug 12 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
May 31 #Javascript
BootStrap创建响应式导航条实例代码
May 31 #Javascript
浅谈js中的延迟执行和定时执行
May 31 #Javascript
温习Javascript基础语法之词法结构
May 31 #Javascript
jQuery文字横向滚动效果的实现代码
May 31 #Javascript
Javascript实现跑马灯效果的简单实例
May 31 #Javascript
javascript实现简易计算器的代码
May 31 #Javascript
You might like
php SQL之where语句生成器
2009/03/24 PHP
PHP迭代器的内部执行过程详解
2013/11/12 PHP
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
php中的静态变量的基本用法
2014/03/20 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
2017/02/08 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
jquery中attr和prop的区别分析
2015/03/16 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
RequireJS 依赖关系的实例(推荐)
2017/01/21 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
NodeJS收发GET和POST请求的示例代码
2017/08/25 NodeJs
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
[06:21]2014DOTA2国际邀请赛 庆祝VG首阶段领跑;B叔为挣牛排半夜整理情报
2014/07/13 DOTA
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
django 读取图片到页面实例
2020/03/27 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
2020/06/29 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
css3遮罩层镂空效果的多种实现方法
2020/05/11 HTML / CSS
《藤野先生》教学反思
2014/02/19 职场文书
文明村镇申报材料
2014/05/06 职场文书
擅自离岗检讨书
2014/09/12 职场文书
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技