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 相关文章推荐
javascript 树控件 比较好用
Jun 11 Javascript
在jquery中处理带有命名空间的XML数据
Jun 13 Javascript
浅析document.createDocumentFragment()与js效率
Jul 08 Javascript
js如何取消事件冒泡
Sep 23 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
Feb 20 Javascript
JQuery实现带排序功能的权限选择实例
May 18 Javascript
JavaScript观察者模式(经典)
Dec 09 Javascript
node-http-proxy修改响应结果实例代码
Jun 06 Javascript
AngularJS基础 ng-model-options 指令简单示例
Aug 02 Javascript
浅谈jQuery中的checkbox问题
Aug 10 Javascript
解析js如何获取css样式
Dec 11 Javascript
个人小程序接入支付解决方案
May 23 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无法访问远程mysql的问题分析及解决
2013/05/16 PHP
PHP设计模式之责任链模式的深入解析
2013/06/13 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
php版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
让您的菜单不离网站
2006/10/03 Javascript
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
ECMAScript6中Map/WeakMap详解
2015/06/12 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
jQuery实现的自适应焦点图效果完整实例
2016/08/24 Javascript
vue 的keep-alive缓存功能的实现
2018/03/22 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
python日志记录模块实例及改进
2017/02/12 Python
python3+PyQt5+Qt Designer实现扩展对话框
2018/04/20 Python
用Django写天气预报查询网站
2018/10/21 Python
django的settings中设置中文支持的实现
2019/04/28 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
利用CSS3实现动态的二级三级菜单效果实例源码
2017/01/04 HTML / CSS
uniapp+Html5端实现PC端适配
2020/07/15 HTML / CSS
英国自行车商店:AW Cycles
2021/02/24 全球购物
亚马逊海外购:亚马逊美国、英国、日本、德国直邮
2021/03/18 全球购物
小区文明倡议书
2014/05/16 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
继续教育个人总结
2015/03/03 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
如何用PHP实现多线程编程
2021/05/26 PHP
mysql的单列多值存储实例详解
2022/04/05 MySQL
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS