在平凡工作作用用,肯定有用到富文本编辑器的时候,富文本编辑器功能强大使用方便,作者用的是百度富文本编辑器,首先要求下载好百度编辑器的demo,
ueditor UEditor是由百度web前端研究开发部开发所见即所得富文本web编辑器,具有轻量,可定制,珍视用户体验等特点,开源基于MIT协议,允许私自使用和改动代码.
官网主页:http://ueditor.baidu.com/website/
demo:http://ueditor.baidu.com/website/onlinedemo.html
API:http://ueditor.baidu.com/doc/
一丶ueditor 百度编辑器
U艾德itor
是由百度「FEX前端研究开发集团」开发的所见即所得富文本web编辑器,具有轻量,可定制,重视用户体验等性子,开源基于MIT协议,允许专断使用和修改代码。
然后创建ueditor.html文件,引入百度编辑器,然后在html文件内引入,然后再用js实例化编辑器即可,代码如下:
特点
1.职能完善:涵盖流行富文本编辑器特色效益,独创二种簇新编辑操作方式。
2.包容性好:屏蔽种种浏览器之间的差距,提供卓越的富文本编辑体验。
3.开源免费:开源基于MIT协议,援救商业和非商业用户的免费使用和无限制修改。
4.定制下载:细粒度拆分基本代码,提供可视化功用选用和自定义下载。
5.专业稳定:百度标准QA团队持续跟进,上千自动化测试用例帮忙。
1.下载编辑器
到官网下载 U艾德itor
最新版:[官网地址]
<!DOCTYPE html>
<html>
<head>
<title>百度编辑器</title>
</head>
<body>
<script type="text/javascript" charset="utf-8" src="ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="ueditor/ueditor.all.min.js"></script>
<script type="text/javascript" charset="utf-8" src="ueditor/lang/zh-cn/zh-cn.js"></script>
<script id="editor" type="text/plain" name="gdesc" style="width:100%;height:350px;"></script>
<script type="text/javascript">
//实例化编辑器
var ue = UE.getEditor('editor', {});
</script>
</body>
</html>
目录介绍
[图片上传中。。。(1)]
dialogs: 弹出对话框对应的能源和JS文件
lang: 编辑器国际化彰显的文件
jsp: 涉及到服务器端操作的后台文件
themes: 样式图片和样式文件
third-party: 第2方插件(蕴涵代码高亮,源码编辑等零件)
ueditor.all.js: 开发版代码合并的结果,目录下全体文件的打包文件
ueditor.all.min.js: ueditor.all.js文件的压缩版,提出在正规铺排时采纳
ueditor.config.js: 编辑器的配置文件,建议和编辑器实例化页面置于同一目录
ueditor.parse.js:
编辑的内容体现页面引用,会活动加载表格、列表、代码高亮等体制,具体看内容展现文书档案
ueditor.parse.min.js:
ueditor.parse.js文件的压缩版,提议在情节呈现页正式铺排时利用
1.官方文档,演示,下载地址:
2、创建demo文件
解压下载的包,在解压后的目录成立 demo.html 文件,填入上面包车型客车html代码
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>ueditor demo</title>
</head>
<body>
<!-- 加载编辑器的容器 -->
<script id="container" name="content" type="text/plain">
这里写你的初始化内容
</script>
<!-- 配置文件 -->
<script type="text/javascript" src="ueditor.config.js"></script>
<!-- 编辑器源码文件 -->
<script type="text/javascript" src="ueditor.all.js"></script>
<!-- 实例化编辑器 -->
<script type="text/javascript">
var ue = UE.getEditor('container');
</script>
</body>
</html>
到此处在浏览器打开上边包车型地铁ueditor.html文件就能来看如下图所示:
使用
1.引入文件
<!-- 加载编辑器的容器 --><script id="container" name="content" type="text/plain"> 这里写你的初始化内容</script><!-- 配置文件 --><script type="text/javascript" src="ueditor.config.js"></script><!-- 编辑器源码文件 --><script type="text/javascript" src="ueditor.all.js"></script><!-- 实例化编辑器 --><script type="text/javascript"> var ue = UE.getEditor('container');</script>
[图形上传中。。。(2)]
2.百度编辑器的好:艾德itor是由百度web前端研究开发部开发所见即所得富文本web编辑器,具有轻量,可定制,重视用户体验等特征。
亚洲必赢官网 ,百度编辑器,ueditor富文本编辑器使用。三 、在浏览器打开demo.html
如果看到了下边那样的编辑器,恭喜你,初次安顿成功!
demo.png
展现数据
方法1:
<script id="myEditor1" type="text/plain">${(report.reContent)?if_exists}</script>
方法2:
<script id="myEditor1" type="text/plain"></script>
var ue = UE.getEditor('myEditor1');
ue.addListener( 'ready', function( editor ) {
var documentContent = $('#documentContent').html();
UE.getEditor('myEditor1').setContent(documentContent);
UE.getEditor('myEditor1').setHeight(800);
} );
3.借使想定制你想要的编辑器功用:查看官方网站的下载页面即可。
④ 、传入自定义的参数
编辑器有很多可自定义的参数项,在实例化的时候可以流传给编辑器:
var ue = UE.getEditor('container', {
autoHeight: true,
……
});
布置项也足以透过 ueditor.config.js 文件修改,具体请看 6
那是实例化后的伊始编辑器,里面包车型大巴功效有众多,当中有局地恐怕是我们完全用不到的,想定制怎么办吧?别捉急,百度提供了能够定制的职能,将下边实例化编辑器的js代码改为以下代码:
定制工具栏图标
1.方法一:修改 ueditor.config.js 里面的 toolbars
toolbars: [
['fullscreen', 'source', 'undo', 'redo'],
['bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc']
]
[图形上传中。。。(3)]
2.措施二:实例化编辑器的时候传出 toolbars 参数
var ue = UE.getEditor('container', {
toolbars: [
['fullscreen', 'source', 'undo', 'redo', 'bold']
]
});
4.编辑器突显:
五 、设置和读取编辑器的剧情
var ue = UE.getContent();
//对编辑器的操作最好在编辑器ready之后再做
ue.ready(function() {
//设置编辑器的内容
ue.setContent('hello');
//获取html内容,返回: <p>hello</p>
var html = ue.getContent();
//获取纯文本内容,返回: hello
var txt = ue.getContentTxt();
});
<script type="text/javascript">
//实例化编辑器
var ue = UE.getEditor('editor', {
toolbars: [
[
'undo', //撤销
'bold', //加粗
'underline', //下划线
'preview', //预览
'horizontal', //分隔线
'inserttitle', //插入标题
'cleardoc', //清空文档
'fontfamily', //字体
'fontsize', //字号
'paragraph', //段落格式
'simpleupload', //单图上传
'insertimage', //多图上传
'attachment', //附件
'music', //音乐
'inserttable', //插入表格
'emotion', //表情
'insertvideo', //视频
'justifyleft', //居左对齐
'justifyright', //居右对齐
'justifycenter', //居中对
'justifyjustify', //两端对齐
'forecolor', //字体颜色
'fullscreen', //全屏
'edittip ', //编辑提示
'customstyle', //自定义标题
'template', //模板
]
]
});
</script>
付出表单
和平凡的表单成分看似,只要将ueditor放在form中即可
[图表上传中。。。(4)] ##艺术列表
[图表上传中。。。(5)] ##自定义务工作具栏菜单
六 、配置项修改表达
- 方法一:修改 ueditor.config.js 里面的 toolbars ;
- 方法二:实例化编辑器的时候传出 toolbars 参数
- 简易列表:
toolbars: [
['fullscreen', 'source', 'undo', 'redo', 'bold']
]
- 多行列表
var options = {
initialFrameWidth: 766, //初化宽度(内容750)
initialFrameHeight: 400, //初化高度
focus: false, //初始化时,是否让编辑器获得焦点true或false
maximumWords: 9999, //允许的最大字符数
pasteplain: false, //是否默认为纯文本粘贴。false为不使用纯文本粘贴,true为使用纯文本粘贴
catchRemoteImageEnable: true, //是否开启远程图片抓取,默认开启
//readonly : false, //编辑器初始化结束后,编辑区域是否是只读的,默认是false
topOffset:0, //浮动时工具栏距离浏览器顶部的高度,用于某些具有固定头部的页面
toolbars: [
['fullscreen', 'source', '|', 'undo', 'redo', '|',
'selectall', 'cleardoc', 'removeformat', 'formatmatch', '|',
'blockquote', 'pasteplain', '|',
'simpleupload', 'insertimage', 'emotion', 'scrawl', 'insertvideo', 'music', 'background', '|',
'link', 'unlink', 'anchor', '|',
'horizontal', 'wordimage', '|',
'inserttable', 'deletetable', 'mergecells', 'splittocells', 'charts'],
['bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', '|',
'paragraph', 'indent', '|',
'fontfamily', 'fontsize', '|',
'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase']
]
};
editor = new UE.ui.Editor(options);
editor.render("goods_content"); // 指定 textarea 的 id 为 goods_content
//配置项里用竖线 '|' 代表分割线
下边包车型大巴事例:
ueidtor.png
刷新ueditor.html页面你就会晤到变化了:
1.在ueditor.config.js文件中期维修改 toolbars:[图表上传中。。。(6)]
柒 、完整的按钮列表
toolbars: [
[
'anchor', //锚点
'undo', //撤销
'redo', //重做
'bold', //加粗
'indent', //首行缩进
'snapscreen', //截图
'italic', //斜体
'underline', //下划线
'strikethrough', //删除线
'subscript', //下标
'fontborder', //字符边框
'superscript', //上标
'formatmatch', //格式刷
'source', //源代码
'blockquote', //引用
'pasteplain', //纯文本粘贴模式
'selectall', //全选
'print', //打印
'preview', //预览
'horizontal', //分隔线
'removeformat', //清除格式
'time', //时间
'date', //日期
'unlink', //取消链接
'insertrow', //前插入行
'insertcol', //前插入列
'mergeright', //右合并单元格
'mergedown', //下合并单元格
'deleterow', //删除行
'deletecol', //删除列
'splittorows', //拆分成行
'splittocols', //拆分成列
'splittocells', //完全拆分单元格
'deletecaption', //删除表格标题
'inserttitle', //插入标题
'mergecells', //合并多个单元格
'deletetable', //删除表格
'cleardoc', //清空文档
'insertparagraphbeforetable', //"表格前插入行"
'insertcode', //代码语言
'fontfamily', //字体
'fontsize', //字号
'paragraph', //段落格式
'simpleupload', //单图上传
'insertimage', //多图上传
'edittable', //表格属性
'edittd', //单元格属性
'link', //超链接
'emotion', //表情
'spechars', //特殊字符
'searchreplace', //查询替换
'map', //Baidu地图
'gmap', //Google地图
'insertvideo', //视频
'help', //帮助
'justifyleft', //居左对齐
'justifyright', //居右对齐
'justifycenter', //居中对齐
'justifyjustify', //两端对齐
'forecolor', //字体颜色
'backcolor', //背景色
'insertorderedlist', //有序列表
'insertunorderedlist', //无序列表
'fullscreen', //全屏
'directionalityltr', //从左向右输入
'directionalityrtl', //从右向左输入
'rowspacingtop', //段前距
'rowspacingbottom', //段后距
'pagebreak', //分页
'insertframe', //插入Iframe
'imagenone', //默认
'imageleft', //左浮动
'imageright', //右浮动
'attachment', //附件
'imagecenter', //居中
'wordimage', //图片转存
'lineheight', //行间距
'edittip ', //编辑提示
'customstyle', //自定义标题
'autotypeset', //自动排版
'webapp', //百度应用
'touppercase', //字母大写
'tolowercase', //字母小写
'background', //背景
'template', //模板
'scrawl', //涂鸦
'music', //音乐
'inserttable', //插入表格
'drafts', // 从草稿箱加载
'charts', // 图表
]
]
2在ueditor.all.js中修改:
8.附录
剧情编排职员有时偷懒,不友好编排,而是复制粘贴,也有点注重细节。为了让文书档案在前者呈现格式统一,一般需求给文书档案加有的自定义样式。大约如下:
//移动端css
* {margin:0;padding:0;}
body,html {
width:100%;
overflow-x:hidden;
}
a {text-decoration:none;}
.view {
padding:0 .12rem;
background-color:#fff;
/*解决app调用H5时滑动不灵敏*/
-webkit-overflow-scrolling: touch;
}
/*基础文本样式*/
.content{
padding: .1rem;
font-size: .16rem !important;
line-height: .24rem;
color: #555;
/*解决英文及数字不换行问题/
word-wrap:break-word;
overflow: hidden;
}
/*标题*/
.content h1{
margin: .2rem 0;
font-size: .2rem !important;
font-weight: 800;
text-align: center;
}
.content h2{
margin: .18rem 0 .12rem;
font-size: .18rem !important;
font-weight: 800;
}
.content h3{
margin: .16rem 0 .12rem;
font-size: .17rem !important;
}
.content p{
margin: .12rem 0;
}
/*图片显示,小图标在文字中间*/
.content p img{
margin: .15rem 0;
max-width: 100% !important;
height: auto !important;
vertical-align: middle;
}
/*引用*/
.content blockquote{
padding: .1rem .2rem;
margin: 0;
font-size: .16rem !important;
border-left: .05rem solid #eee;
}
.content blockquote p{
margin: 0;
}
/*插图*/
.content figure{
margin: .12rem 0;
font-size: .14rem !important;
}
.content figure img{
max-width: 100% !important;
}
/*插图文本*/
.content figcaption {
margin-top: .05rem;
padding: 0 .2rem;
font-weight: 400;
clear: both;
color: #999;
font-size: .12rem !important;
line-height: .2rem;
text-align: center;
display: block;
}
越多详细文书档案:
UEditor
官网:http://ueditor.baidu.com
UEditor API
文档:http://ueditor.baidu.com/doc
UEditor Github
地址:http://github.com/fex-team/ueditor
想定制什么意义,只必要参考上边下载的编辑器demo内的ueditor.config.js文件中toolbars属性,将相应的字符串添加进去即可:
2.1挂号命令
[图形上传中。。。(7)]
//工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的重新定义
, toolbars: [[
'fullscreen', 'source', '|', 'undo', 'redo', '|',
'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|',
'rowspacingtop', 'rowspacingbottom', 'lineheight', '|',
'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|',
'directionalityltr', 'directionalityrtl', 'indent', '|',
'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|',
'link', 'unlink', 'anchor', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|',
'simpleupload', 'insertimage', 'emotion', 'scrawl', 'insertvideo', 'music', 'attachment', 'map', 'gmap', 'insertframe', 'insertcode', 'webapp', 'pagebreak', 'template', 'background', '|',
'horizontal', 'date', 'time', 'spechars', 'snapscreen', 'wordimage', '|',
'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|',
'print', 'preview', 'searchreplace', 'drafts', 'help'
]]
2.2添加命令监听
UE.commands[‘pagenumber’] = {
execCommand: function(cmd){
console.log('添加页码:'+cmd);
var html = "页码";
this.execCommand("inserthtml", html);
}
};
3.在/lang/zh-cn.js里添加粤语语言帮助:
[图片上传中。。。(8)]
5.百度编辑器配置。
ueditor.config.js文件能够定制编辑器的不少职能,只需求将对应属性前边的’//’去掉,true为打开,false为关闭进行设置即可.比如:
//elementPathEnabled
//是否启用元素路径,默认是显示
,elementPathEnabled : false
//wordCount
,wordCount:false //是否开启字数统计
//,maximumWords:10000 //允许的最大字符数
1.载入js,css文件
按照下边代码修改完ueditor.config.js文件,刷新页面你会看到不平等的位置:
<script src="ueditor/editor_config.js" type="text/javascript"></script>
<script src="ueditor/editor_all.js" type="text/javascript"></script>
<link href="ueditor/themes/default/ueditor.css" rel="stylesheet" type="text/css" />
2.页面陈设
下边的要素路径和字数总结都流失了,是或不是尤其雅观了呢O(∩_∩)O~
<div id="myEditor"></div> //可以是aspx控件 只要id正确即可
<script type="text/javascript">
var ue = new baidu.editor.ui.Editor();
ue.render("myEditor"); //这里填写要改变为编辑器的控件id
</script>
其实利用时我们还有可能在2个域名下上传百度编辑器编辑的剧情(例如:在www.52lnamp.com域名下上传了一张图片),而要求不单单是要在那域名下显示,还亟需能够在别的域名下显得,那时就会现出图片不存在的境况,
3.editor_config.js
文件中的路径配置
那是因为百度编辑器的布置文件中暗许的上传路径是相对路径,也正是说下边上传的图纸的地址是争执于方今的域名进行上传的,唯有在您上传的域名下能够来得,别的域名是展现不出去的,
var tmp = window.location.pathname;
URL = window.UEDITOR_HOME_URL || "/SomePackage/Ueditor/ueditor/"; //这里你可以配置成ueditor目录在您网站的相对路径或者绝对路径(指以http开头的绝对路径)
一经要在其它3个域名上彰显的话只须要修改配置文件为相对路径就足以了,打开上边下载的demo,找到php/config.json文件,打开后您会合到
4.只要您要接纳传图片成效,还需求修改net文件下的几个文本截图评释呢(那个路子能够直接删除的,试试。不行了上下一心再调整下)。
改为–>
里面imageUrlPrefix那个天性加上域名即可:”imageUrlPrefix”:
“”, /* 图片访问路径前缀 */
同理将net文件下别的文件类似的不当勘误后即可上传图片。
必要专注的是添加域名的时候必须带上http or
https,唯有如此写出来的才能平常展现,不加的话在您引用的时候会在前面重复加上多个域名,基本掌握了这么些能够因对一般性的急需,有任何另类的急需能够参见百度编辑器文书档案,也欢迎补充互学.
图片上传暗中认可地点为:net文件夹下。上传一张打开即可发现2个upload文件夹。
5.ueditor 的不在少数暗中认可配置都在
editor_config.js那几个文件中,细心看的话,开启或关闭内部的配备是能够化解广大难题的。
6.作者在采取进程中还遭遇过编辑器内容影响总体页面包车型地铁布局难题,那标题是在editor_all.js那个文件中期维修改的暗中认可样式难点的。
/**
* 渲染编辑器的DOM到指定容器,必须且只能调用一次
* @public
* @function
* @param {Element|String} container
*/
render:function ( container ) {
var me = this, options = me.options;
if ( container.constructor === String ) {
container = document.getElementById( container );
}
if ( container ) {
var useBodyAsViewport = ie && browser.version < 9,
html = ( ie && browser.version < 9 ? '' : '<!DOCTYPE html>') +
'<html xmlns=\'http://www.w3.org/1999/xhtml\'' + (!useBodyAsViewport ? ' class=\'view\'' : '') + '><head>' +
( options.iframeCssUrl ? '<link rel=\'stylesheet\' type=\'text/css\' href=\'' + utils.unhtml( options.iframeCssUrl ) + '\'/>' : '' ) +
'<style type=\'text/css\'>' +
//这些默认属性不能够让用户改变
//选中的td上的样式
'.selectTdClass{background-color:#3399FF !important;}' +
'table.noBorderTable td{border:1px dashed #ddd !important}' +
//插入的表格的默认样式
'table{clear:both;margin-bottom:10px;border-collapse:collapse;word-break:break-all;}' +
//分页符的样式
'.pagebreak{display:block;clear:both !important;cursor:default !important;width: 100% !important;margin:0;}' +
//锚点的样式,注意这里背景图的路径
'.anchorclass{background: url(\'' + me.options.UEDITOR_HOME_URL + 'themes/defaultnchor.gif\') no-repeat scroll left center transparent;border: 1px dotted #0000FF;cursor: auto;display: inline-block;height: 16px;width: 15px;}' +
//设置四周的留边
'.view{padding:0;word-wrap:break-word;cursor:text;height:100%;}\n' +
//设置默认字体和字号
'body{margin:8px;font-family:\'宋体\';font-size:16px;}' +
//针对li的处理
'li{clear:both}' +
//设置段落间距
'p{margin:5px 0;}'
+ ( options.initialStyle || '' ) +
'</style></head><body' + (useBodyAsViewport ? ' class=\'view\'' : '') + '></body>';
说到底对这么些编辑器总计下:很好用的,代码很简单读懂,便于修改配置为团结喜爱的想要的。
二丶CKEditor丶CKFinder
国外盛名编辑器
1.官方文书档案,演示,下载地址: 丶
2.百度编辑器的好:是一个特意使用在网页上属于开放源代码的所见即所得文字编辑器。它志于轻量化,不要求太复杂的装置步骤即可使用。
3.编辑器体现:
4.配备步骤以及部分常用配置
1.引入<script src=”ckeditor/ckeditor.js”
type=”text/javascript”></script>
2.页面代码
<!--第一个--->
<textarea id="TextArea1" cols="20" rows="2" class="ckeditor"></textarea>
<!--第二个--->
<div id="editorSpace"></div> <!--直接设置class好像也行的可以试试--->
<script type="text/javascript">
CKEDITOR.appendTo('editorSpace');
</script>
3.配备ckeditor的一对常用配置,在config.js那一个文件中,全部的性质配置都能够查阅官方的API:
4.列出一些常用的性质配置:
CKEDITOR.editorConfig = function( config )
{
// Define changes to default configuration here. For example:
// config.language = 'fr';
// config.uiColor = '#AADC6E';
//config.width=700;
//config.height=400;
//config.skin='v2'; //自带皮肤种类有3种:Kama(默认) , Office 2003 , v2
//config.font_names = '宋体;楷体 _GB2312;新宋体;黑体;隶书;幼圆;微软雅黑;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana';
//如果上传图片或者flash则需要,下面配置ckfinder
var ckfinderPath = "/SomePackage/FCKeditor/ckfinder"; //配置为绝对路径
config.filebrowserBrowseUrl = ckfinderPath + "/ckfinder.html";
config.filebrowserImageBrowseUrl = ckfinderPath + "/ckfinder.html?Type=Image";
config.filebrowserFlashBrowseUrl = ckfinderPath + "/ckfinder.html?Type=Flash";
config.filebrowserUploadUrl = ckfinderPath + "/core/connector/aspx/connector.aspx?command=QuickUpload&Type=Files";
config.filebrowserImageUploadUrl = ckfinderPath + "/core/connector/aspx/connector.aspx?command=QuickUpload&Type=Images";
config.filebrowserFlashUploadUrl = ckfinderPath + "/core/connector/aspx/connector.aspx?command=QuickUpload&Type=Flash";
};
5.假诺上传图片则需在档次中添加ckfinder文件
6.第④步为布局上传图片的率先步
7.变更ckfinder文件夹下的config.ascx,内容如下:
public override bool CheckAuthentication()
{
//object str = session["username"];
//if (str != null & Convert.ToBoolean(str) == true)
//{
// return true;
//}
return true; //不建议直接返回true,最好做下用户验证判断在返回true(安全),上面为验证的一个实例
}
8.如此就行了,由于ckfinder不是免费的,所以暗许景况下会在上传页面中有革命的广告提示,固然不影响使用,但连接认为难过。
9.去除广告方式:找到ckfinder/core/js/ckfinder_ie.js及ckfinder_gecko.js,将里面包车型客车en.call(window,qo);去掉
最后对那些编辑器计算下:很强大,很好用。世界各州都在用的。