');
144 | p.push('
');
145 | for (var i = 0, tmpList; tmpList = data[i++];) {
146 | panels.push('panel' + i);
147 | pages.push('page' + i);
148 | if (i == 1) {
149 | s.push('
');
150 | if (data.length != 1) {
151 | t.push('
' + (i ) + '
');
152 | }
153 | } else {
154 | s.push('
');
155 | t.push('
' + (i ) + '
');
156 | }
157 | s.push('
');
158 | s.push('
' + lang.chapter + ' ' + lang.singer
159 | + ' ' + lang.special + ' ' + lang.listenTest + '
');
160 | for (var j = 0, tmpObj; tmpObj = tmpList[j++];) {
161 | s.push('
');
162 | s.push(' ');
163 | s.push('' + me._getMaxText(tmpObj.title) + ' ');
164 | s.push('' + me._getMaxText(tmpObj.author) + ' ');
165 | s.push('' + me._getMaxText(tmpObj.album_title) + ' ');
166 | s.push(' ');
167 | s.push(' ');
168 | }
169 | s.push('
');
170 | s.push('
');
171 | }
172 | t.reverse();
173 | p.push(t.join(''));
174 | s.push('
');
175 | p.push('
');
176 | return s.join('') + p.join('');
177 | },
178 | exec:function () {
179 | var me = this;
180 | if (selectedItem == null) return;
181 | $G('J_preview').innerHTML = "";
182 | editor.execCommand('music', {
183 | url:me._getUrl(false),
184 | width:400,
185 | height:95
186 | });
187 | }
188 | };
189 | })();
190 |
191 |
192 |
193 |
--------------------------------------------------------------------------------
/WebRoot/ueditor-min-1.4.3/third-party/video-js/font/vjs.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This is a custom SVG font generated by IcoMoon.
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
18 |
23 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
43 |
56 |
57 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/WebRoot/ueditor-min-1.4.3/dialogs/table/edittable.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created with JetBrains PhpStorm.
3 | * User: xuheng
4 | * Date: 12-12-19
5 | * Time: 下午4:55
6 | * To change this template use File | Settings | File Templates.
7 | */
8 | (function () {
9 | var title = $G("J_title"),
10 | titleCol = $G("J_titleCol"),
11 | caption = $G("J_caption"),
12 | sorttable = $G("J_sorttable"),
13 | autoSizeContent = $G("J_autoSizeContent"),
14 | autoSizePage = $G("J_autoSizePage"),
15 | tone = $G("J_tone"),
16 | me,
17 | preview = $G("J_preview");
18 |
19 | var editTable = function () {
20 | me = this;
21 | me.init();
22 | };
23 | editTable.prototype = {
24 | init:function () {
25 | var colorPiker = new UE.ui.ColorPicker({
26 | editor:editor
27 | }),
28 | colorPop = new UE.ui.Popup({
29 | editor:editor,
30 | content:colorPiker
31 | });
32 |
33 | title.checked = editor.queryCommandState("inserttitle") == -1;
34 | titleCol.checked = editor.queryCommandState("inserttitlecol") == -1;
35 | caption.checked = editor.queryCommandState("insertcaption") == -1;
36 | sorttable.checked = editor.queryCommandState("enablesort") == 1;
37 |
38 | var enablesortState = editor.queryCommandState("enablesort"),
39 | disablesortState = editor.queryCommandState("disablesort");
40 |
41 | sorttable.checked = !!(enablesortState < 0 && disablesortState >=0);
42 | sorttable.disabled = !!(enablesortState < 0 && disablesortState < 0);
43 | sorttable.title = enablesortState < 0 && disablesortState < 0 ? lang.errorMsg:'';
44 |
45 | me.createTable(title.checked, titleCol.checked, caption.checked);
46 | me.setAutoSize();
47 | me.setColor(me.getColor());
48 |
49 | domUtils.on(title, "click", me.titleHanler);
50 | domUtils.on(titleCol, "click", me.titleColHanler);
51 | domUtils.on(caption, "click", me.captionHanler);
52 | domUtils.on(sorttable, "click", me.sorttableHanler);
53 | domUtils.on(autoSizeContent, "click", me.autoSizeContentHanler);
54 | domUtils.on(autoSizePage, "click", me.autoSizePageHanler);
55 |
56 | domUtils.on(tone, "click", function () {
57 | colorPop.showAnchor(tone);
58 | });
59 | domUtils.on(document, 'mousedown', function () {
60 | colorPop.hide();
61 | });
62 | colorPiker.addListener("pickcolor", function () {
63 | me.setColor(arguments[1]);
64 | colorPop.hide();
65 | });
66 | colorPiker.addListener("picknocolor", function () {
67 | me.setColor("");
68 | colorPop.hide();
69 | });
70 | },
71 |
72 | createTable:function (hasTitle, hasTitleCol, hasCaption) {
73 | var arr = [],
74 | sortSpan = '
^ ';
75 | arr.push("
");
76 | if (hasCaption) {
77 | arr.push("" + lang.captionName + " ")
78 | }
79 | if (hasTitle) {
80 | arr.push("");
81 | if(hasTitleCol) { arr.push("" + lang.titleName + " "); }
82 | for (var j = 0; j < 5; j++) {
83 | arr.push("" + lang.titleName + " ");
84 | }
85 | arr.push(" ");
86 | }
87 | for (var i = 0; i < 6; i++) {
88 | arr.push("");
89 | if(hasTitleCol) { arr.push("" + lang.titleName + " ") }
90 | for (var k = 0; k < 5; k++) {
91 | arr.push("" + lang.cellsName + " ")
92 | }
93 | arr.push(" ");
94 | }
95 | arr.push("
");
96 | preview.innerHTML = arr.join("");
97 | this.updateSortSpan();
98 | },
99 | titleHanler:function () {
100 | var example = $G("J_example"),
101 | frg=document.createDocumentFragment(),
102 | color = domUtils.getComputedStyle(domUtils.getElementsByTagName(example, "td")[0], "border-color"),
103 | colCount = example.rows[0].children.length;
104 |
105 | if (title.checked) {
106 | example.insertRow(0);
107 | for (var i = 0, node; i < colCount; i++) {
108 | node = document.createElement("th");
109 | node.innerHTML = lang.titleName;
110 | frg.appendChild(node);
111 | }
112 | example.rows[0].appendChild(frg);
113 |
114 | } else {
115 | domUtils.remove(example.rows[0]);
116 | }
117 | me.setColor(color);
118 | me.updateSortSpan();
119 | },
120 | titleColHanler:function () {
121 | var example = $G("J_example"),
122 | color = domUtils.getComputedStyle(domUtils.getElementsByTagName(example, "td")[0], "border-color"),
123 | colArr = example.rows,
124 | colCount = colArr.length;
125 |
126 | if (titleCol.checked) {
127 | for (var i = 0, node; i < colCount; i++) {
128 | node = document.createElement("th");
129 | node.innerHTML = lang.titleName;
130 | colArr[i].insertBefore(node, colArr[i].children[0]);
131 | }
132 | } else {
133 | for (var i = 0; i < colCount; i++) {
134 | domUtils.remove(colArr[i].children[0]);
135 | }
136 | }
137 | me.setColor(color);
138 | me.updateSortSpan();
139 | },
140 | captionHanler:function () {
141 | var example = $G("J_example");
142 | if (caption.checked) {
143 | var row = document.createElement('caption');
144 | row.innerHTML = lang.captionName;
145 | example.insertBefore(row, example.firstChild);
146 | } else {
147 | domUtils.remove(domUtils.getElementsByTagName(example, 'caption')[0]);
148 | }
149 | },
150 | sorttableHanler:function(){
151 | me.updateSortSpan();
152 | },
153 | autoSizeContentHanler:function () {
154 | var example = $G("J_example");
155 | example.removeAttribute("width");
156 | },
157 | autoSizePageHanler:function () {
158 | var example = $G("J_example");
159 | var tds = example.getElementsByTagName(example, "td");
160 | utils.each(tds, function (td) {
161 | td.removeAttribute("width");
162 | });
163 | example.setAttribute('width', '100%');
164 | },
165 | updateSortSpan: function(){
166 | var example = $G("J_example"),
167 | row = example.rows[0];
168 |
169 | var spans = domUtils.getElementsByTagName(example,"span");
170 | utils.each(spans,function(span){
171 | span.parentNode.removeChild(span);
172 | });
173 | if (sorttable.checked) {
174 | utils.each(row.cells, function(cell, i){
175 | var span = document.createElement("span");
176 | span.innerHTML = "^";
177 | cell.appendChild(span);
178 | });
179 | }
180 | },
181 | getColor:function () {
182 | var start = editor.selection.getStart(), color,
183 | cell = domUtils.findParentByTagName(start, ["td", "th", "caption"], true);
184 | color = cell && domUtils.getComputedStyle(cell, "border-color");
185 | if (!color) color = "#DDDDDD";
186 | return color;
187 | },
188 | setColor:function (color) {
189 | var example = $G("J_example"),
190 | arr = domUtils.getElementsByTagName(example, "td").concat(
191 | domUtils.getElementsByTagName(example, "th"),
192 | domUtils.getElementsByTagName(example, "caption")
193 | );
194 |
195 | tone.value = color;
196 | utils.each(arr, function (node) {
197 | node.style.borderColor = color;
198 | });
199 |
200 | },
201 | setAutoSize:function () {
202 | var me = this;
203 | autoSizePage.checked = true;
204 | me.autoSizePageHanler();
205 | }
206 | };
207 |
208 | new editTable;
209 |
210 | dialog.onok = function () {
211 | editor.__hasEnterExecCommand = true;
212 |
213 | var checks = {
214 | title:"inserttitle deletetitle",
215 | titleCol:"inserttitlecol deletetitlecol",
216 | caption:"insertcaption deletecaption",
217 | sorttable:"enablesort disablesort"
218 | };
219 | editor.fireEvent('saveScene');
220 | for(var i in checks){
221 | var cmds = checks[i].split(" "),
222 | input = $G("J_" + i);
223 | if(input["checked"]){
224 | editor.queryCommandState(cmds[0])!=-1 &&editor.execCommand(cmds[0]);
225 | }else{
226 | editor.queryCommandState(cmds[1])!=-1 &&editor.execCommand(cmds[1]);
227 | }
228 | }
229 |
230 | editor.execCommand("edittable", tone.value);
231 | autoSizeContent.checked ?editor.execCommand('adaptbytext') : "";
232 | autoSizePage.checked ? editor.execCommand("adaptbywindow") : "";
233 | editor.fireEvent('saveScene');
234 |
235 | editor.__hasEnterExecCommand = false;
236 | };
237 | })();
--------------------------------------------------------------------------------
/WebRoot/ueditor-min-1.4.3/ueditor.config.bak.js:
--------------------------------------------------------------------------------
1 | /**
2 | * ueditor完整配置项
3 | * 可以在这里配置整个编辑器的特性
4 | */
5 | /**************************提示********************************
6 | * 所有被注释的配置项均为UEditor默认值。
7 | * 修改默认配置请首先确保已经完全明确该参数的真实用途。
8 | * 主要有两种修改方案,一种是取消此处注释,然后修改成对应参数;另一种是在实例化编辑器时传入对应参数。
9 | * 当升级编辑器时,可直接使用旧版配置文件替换新版配置文件,不用担心旧版配置文件中因缺少新功能所需的参数而导致脚本报错。
10 | **************************提示********************************/
11 |
12 | (function () {
13 |
14 | /**
15 | * 编辑器资源文件根路径。它所表示的含义是:以编辑器实例化页面为当前路径,指向编辑器资源文件(即dialog等文件夹)的路径。
16 | * 鉴于很多同学在使用编辑器的时候出现的种种路径问题,此处强烈建议大家使用"相对于网站根目录的相对路径"进行配置。
17 | * "相对于网站根目录的相对路径"也就是以斜杠开头的形如"/myProject/ueditor/"这样的路径。
18 | * 如果站点中有多个不在同一层级的页面需要实例化编辑器,且引用了同一UEditor的时候,此处的URL可能不适用于每个页面的编辑器。
19 | * 因此,UEditor提供了针对不同页面的编辑器可单独配置的根路径,具体来说,在需要实例化编辑器的页面最顶部写上如下代码即可。当然,需要令此处的URL等于对应的配置。
20 | * window.UEDITOR_HOME_URL = "/xxxx/xxxx/";
21 | */
22 | var URL = window.UEDITOR_HOME_URL || getUEBasePath();
23 |
24 | /**
25 | * 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。
26 | */
27 | window.UEDITOR_CONFIG = {
28 |
29 | //为编辑器实例添加一个路径,这个不能被注释
30 | UEDITOR_HOME_URL: URL
31 |
32 | // 服务器统一请求接口路径
33 | , serverUrl: URL + "jsp/controller.jsp"
34 |
35 | //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的从新定义
36 |
37 | , toolbars: [["source","unlink","link","print","preview","simpleupload","music","emotion","insertvideo","attachment","horizontal","spechars","pasteplain","insertcode","bold","italic","underline","forecolor","backcolor","justifyleft","justifycenter","justifyright","removeformat","formatmatch","fontfamily","fontsize","inserttable","deletetable","mergeright","mergedown","splittorows","splittocols","splittocells","mergecells","insertcol","insertrow","deletecol","deleterow"]]
38 | //当鼠标放在工具栏上时显示的tooltip提示,留空支持自动多语言配置,否则以配置值为准
39 | //,labelMap:{
40 | // 'anchor':'', 'undo':''
41 | //}
42 |
43 | //语言配置项,默认是zh-cn。有需要的话也可以使用如下这样的方式来自动多语言切换,当然,前提条件是lang文件夹下存在对应的语言文件:
44 | //lang值也可以通过自动获取 (navigator.language||navigator.browserLanguage ||navigator.userLanguage).toLowerCase()
45 | //,lang:"zh-cn"
46 | //,langPath:URL +"lang/"
47 |
48 | //主题配置项,默认是default。有需要的话也可以使用如下这样的方式来自动多主题切换,当然,前提条件是themes文件夹下存在对应的主题文件:
49 | //现有如下皮肤:default
50 | //,theme:'default'
51 | //,themePath:URL +"themes/"
52 |
53 | //,zIndex : 900 //编辑器层级的基数,默认是900
54 |
55 | //针对getAllHtml方法,会在对应的head标签中增加该编码设置。
56 | //,charset:"utf-8"
57 |
58 | //若实例化编辑器的页面手动修改的domain,此处需要设置为true
59 | //,customDomain:false
60 |
61 | //常用配置项目
62 | //,isShow : true //默认显示编辑器
63 |
64 | //,textarea:'editorValue' // 提交表单时,服务器获取编辑器提交内容的所用的参数,多实例时可以给容器name属性,会将name给定的值最为每个实例的键值,不用每次实例化的时候都设置这个值
65 |
66 | //,initialContent:'欢迎使用ueditor!' //初始化编辑器的内容,也可以通过textarea/script给值,看官网例子
67 |
68 | //,autoClearinitialContent:true //是否自动清除编辑器初始内容,注意:如果focus属性设置为true,这个也为真,那么编辑器一上来就会触发导致初始化的内容看不到了
69 |
70 | //,focus:false //初始化时,是否让编辑器获得焦点true或false
71 |
72 | //如果自定义,最好给p标签如下的行高,要不输入中文时,会有跳动感
73 | //,initialStyle:'p{line-height:1em}'//编辑器层级的基数,可以用来改变字体等
74 |
75 | //,iframeCssUrl: URL + '/themes/iframe.css' //给编辑器内部引入一个css文件
76 |
77 | //,initialFrameWidth:1000 //初始化编辑器宽度,默认1000
78 | //,initialFrameHeight:320 //初始化编辑器高度,默认320
79 |
80 | //,readonly : false //编辑器初始化结束后,编辑区域是否是只读的,默认是false
81 |
82 | //,autoClearEmptyNode : true //getContent时,是否删除空的inlineElement节点(包括嵌套的情况)
83 |
84 | //,imagePopup:true //图片操作的浮层开关,默认打开
85 |
86 | //,emotionLocalization:false //是否开启表情本地化,默认关闭。若要开启请确保emotion文件夹下包含官网提供的images表情文件夹
87 |
88 | //粘贴只保留标签,去除标签所有属性
89 | //,retainOnlyLabelPasted: false
90 |
91 | //,pasteplain:false //是否默认为纯文本粘贴。false为不使用纯文本粘贴,true为使用纯文本粘贴
92 | //纯文本粘贴模式下的过滤规则
93 | //'filterTxtRules' : function(){
94 | // function transP(node){
95 | // node.tagName = 'p';
96 | // node.setStyle();
97 | // }
98 | // return {
99 | // //直接删除及其字节点内容
100 | // '-' : 'script style object iframe embed input select',
101 | // 'p': {$:{}},
102 | // 'br':{$:{}},
103 | // 'div':{'$':{}},
104 | // 'li':{'$':{}},
105 | // 'caption':transP,
106 | // 'th':transP,
107 | // 'tr':transP,
108 | // 'h1':transP,'h2':transP,'h3':transP,'h4':transP,'h5':transP,'h6':transP,
109 | // 'td':function(node){
110 | // //没有内容的td直接删掉
111 | // var txt = !!node.innerText();
112 | // if(txt){
113 | // node.parentNode.insertAfter(UE.uNode.createText(' '),node);
114 | // }
115 | // node.parentNode.removeChild(node,node.innerText())
116 | // }
117 | // }
118 | //}()
119 |
120 | //,allHtmlEnabled:false //提交到后台的数据是否包含整个html字符串
121 |
122 | //,autoTransWordToList:false //禁止word中粘贴进来的列表自动变成列表标签
123 |
124 | //fontfamily
125 | //字体设置 label留空支持多语言自动切换,若配置,则以配置值为准
126 | //,'fontfamily':[
127 | // { label:'',name:'songti',val:'宋体,SimSun'},
128 | // { label:'',name:'kaiti',val:'楷体,楷体_GB2312, SimKai'},
129 | // { label:'',name:'yahei',val:'微软雅黑,Microsoft YaHei'},
130 | // { label:'',name:'heiti',val:'黑体, SimHei'},
131 | // { label:'',name:'lishu',val:'隶书, SimLi'},
132 | // { label:'',name:'andaleMono',val:'andale mono'},
133 | // { label:'',name:'arial',val:'arial, helvetica,sans-serif'},
134 | // { label:'',name:'arialBlack',val:'arial black,avant garde'},
135 | // { label:'',name:'comicSansMs',val:'comic sans ms'},
136 | // { label:'',name:'impact',val:'impact,chicago'},
137 | // { label:'',name:'timesNewRoman',val:'times new roman'}
138 | //]
139 |
140 | //fontsize
141 | //字号
142 | //,'fontsize':[10, 11, 12, 14, 16, 18, 20, 24, 36]
143 |
144 | //快捷菜单
145 | //,shortcutMenu:["fontfamily", "fontsize", "bold", "italic", "underline", "forecolor", "backcolor", "insertorderedlist", "insertunorderedlist"]
146 |
147 | //tab
148 | //点击tab键时移动的距离,tabSize倍数,tabNode什么字符做为单位
149 | //,tabSize:4
150 | //,tabNode:' '
151 |
152 | //removeFormat
153 | //清除格式时可以删除的标签和属性
154 | //removeForamtTags标签
155 | //,removeFormatTags:'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var'
156 | //removeFormatAttributes属性
157 | //,removeFormatAttributes:'class,style,lang,width,height,align,hspace,valign'
158 |
159 | //scaleEnabled
160 | //是否可以拉伸长高,默认true(当开启时,自动长高失效)
161 | //,scaleEnabled:false
162 | //,minFrameWidth:800 //编辑器拖动时最小宽度,默认800
163 | //,minFrameHeight:220 //编辑器拖动时最小高度,默认220
164 |
165 | //tableDragable
166 | //表格是否可以拖拽
167 | //,tableDragable: true
168 |
169 | //,disabledTableInTable:true //禁止表格嵌套
170 |
171 | //sourceEditor
172 | //源码的查看方式,codemirror 是代码高亮,textarea是文本框,默认是codemirror
173 | //注意默认codemirror只能在ie8+和非ie中使用
174 | //,sourceEditor:"codemirror"
175 | //如果sourceEditor是codemirror,还用配置一下两个参数
176 | //codeMirrorJsUrl js加载的路径,默认是 URL + "third-party/codemirror/codemirror.js"
177 | //,codeMirrorJsUrl:URL + "third-party/codemirror/codemirror.js"
178 | //codeMirrorCssUrl css加载的路径,默认是 URL + "third-party/codemirror/codemirror.css"
179 | //,codeMirrorCssUrl:URL + "third-party/codemirror/codemirror.css"
180 | //编辑器初始化完成后是否进入源码模式,默认为否。
181 | //,sourceEditorFirst:false
182 |
183 | //iframeUrlMap
184 | //dialog内容的路径 ~会被替换成URL,垓属性一旦打开,将覆盖所有的dialog的默认路径
185 | //,iframeUrlMap:{
186 | // 'anchor':'~/dialogs/anchor/anchor.html',
187 | //}
188 |
189 | };
190 |
191 | function getUEBasePath(docUrl, confUrl) {
192 |
193 | return getBasePath(docUrl || self.document.URL || self.location.href, confUrl || getConfigFilePath());
194 |
195 | }
196 |
197 | function getConfigFilePath() {
198 |
199 | var configPath = document.getElementsByTagName('script');
200 |
201 | return configPath[ configPath.length - 1 ].src;
202 |
203 | }
204 |
205 | function getBasePath(docUrl, confUrl) {
206 |
207 | var basePath = confUrl;
208 |
209 |
210 | if (/^(\/|\\\\)/.test(confUrl)) {
211 |
212 | basePath = /^.+?\w(\/|\\\\)/.exec(docUrl)[0] + confUrl.replace(/^(\/|\\\\)/, '');
213 |
214 | } else if (!/^[a-z]+:/i.test(confUrl)) {
215 |
216 | docUrl = docUrl.split("#")[0].split("?")[0].replace(/[^\\\/]+$/, '');
217 |
218 | basePath = docUrl + "" + confUrl;
219 |
220 | }
221 |
222 | return optimizationPath(basePath);
223 |
224 | }
225 |
226 | function optimizationPath(path) {
227 |
228 | var protocol = /^[a-z]+:\/\//.exec(path)[ 0 ],
229 | tmp = null,
230 | res = [];
231 |
232 | path = path.replace(protocol, "").split("?")[0].split("#")[0];
233 |
234 | path = path.replace(/\\/g, '/').split(/\//);
235 |
236 | path[ path.length - 1 ] = "";
237 |
238 | while (path.length) {
239 |
240 | if (( tmp = path.shift() ) === "..") {
241 | res.pop();
242 | } else if (tmp !== ".") {
243 | res.push(tmp);
244 | }
245 |
246 | }
247 |
248 | return protocol + res.join("/");
249 |
250 | }
251 |
252 | window.UE = {
253 | getUEBasePath: getUEBasePath
254 | };
255 |
256 | })();
257 |
--------------------------------------------------------------------------------
/WebRoot/ueditor-min-1.4.3/ueditor.config.js:
--------------------------------------------------------------------------------
1 | /**
2 | * ueditor完整配置项
3 | * 可以在这里配置整个编辑器的特性
4 | */
5 | /**************************提示********************************
6 | * 所有被注释的配置项均为UEditor默认值。
7 | * 修改默认配置请首先确保已经完全明确该参数的真实用途。
8 | * 主要有两种修改方案,一种是取消此处注释,然后修改成对应参数;另一种是在实例化编辑器时传入对应参数。
9 | * 当升级编辑器时,可直接使用旧版配置文件替换新版配置文件,不用担心旧版配置文件中因缺少新功能所需的参数而导致脚本报错。
10 | **************************提示********************************/
11 |
12 | (function () {
13 |
14 | /**
15 | * 编辑器资源文件根路径。它所表示的含义是:以编辑器实例化页面为当前路径,指向编辑器资源文件(即dialog等文件夹)的路径。
16 | * 鉴于很多同学在使用编辑器的时候出现的种种路径问题,此处强烈建议大家使用"相对于网站根目录的相对路径"进行配置。
17 | * "相对于网站根目录的相对路径"也就是以斜杠开头的形如"/myProject/ueditor/"这样的路径。
18 | * 如果站点中有多个不在同一层级的页面需要实例化编辑器,且引用了同一UEditor的时候,此处的URL可能不适用于每个页面的编辑器。
19 | * 因此,UEditor提供了针对不同页面的编辑器可单独配置的根路径,具体来说,在需要实例化编辑器的页面最顶部写上如下代码即可。当然,需要令此处的URL等于对应的配置。
20 | * window.UEDITOR_HOME_URL = "/xxxx/xxxx/";
21 | */
22 | var URL = base + '/ueditor-min-1.4.3/';
23 |
24 | /**
25 | * 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。
26 | */
27 | window.UEDITOR_CONFIG = {
28 |
29 | //为编辑器实例添加一个路径,这个不能被注释
30 | UEDITOR_HOME_URL: URL
31 |
32 | // 服务器统一请求接口路径
33 | , serverUrl: URL + "jsp/controller.jsp"
34 |
35 | //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的从新定义
36 |
37 | , toolbars: [
38 | [
39 | 'bold','italic','underline','forecolor','backcolor','|',
40 | 'fontfamily','fontsize','paragraph','|',
41 | 'spechars','justifyleft','justifycenter','justifyright','link','unlink','horizontal','|',
42 | 'removeformat','formatmatch','pasteplain','|',
43 | 'emotion','music','simpleupload','insertvideo','attachment'
44 | ],
45 | [
46 | 'source','|',
47 | 'inserttable','deletetable','mergeright','mergedown','splittorows','splittocols','splittocells','mergecells','insertcol','insertrow','deletecol','deleterow','insertparagraphbeforetable','|',
48 | 'print','preview','|','insertcode'
49 | ]
50 | ]
51 | //当鼠标放在工具栏上时显示的tooltip提示,留空支持自动多语言配置,否则以配置值为准
52 | //,labelMap:{
53 | // 'anchor':'', 'undo':''
54 | //}
55 |
56 | //语言配置项,默认是zh-cn。有需要的话也可以使用如下这样的方式来自动多语言切换,当然,前提条件是lang文件夹下存在对应的语言文件:
57 | //lang值也可以通过自动获取 (navigator.language||navigator.browserLanguage ||navigator.userLanguage).toLowerCase()
58 | //,lang:"zh-cn"
59 | //,langPath:URL +"lang/"
60 |
61 | //主题配置项,默认是default。有需要的话也可以使用如下这样的方式来自动多主题切换,当然,前提条件是themes文件夹下存在对应的主题文件:
62 | //现有如下皮肤:default
63 | //,theme:'default'
64 | //,themePath:URL +"themes/"
65 |
66 | ,zIndex : 1039 //编辑器层级的基数,默认是900
67 |
68 | //针对getAllHtml方法,会在对应的head标签中增加该编码设置。
69 | //,charset:"utf-8"
70 |
71 | //若实例化编辑器的页面手动修改的domain,此处需要设置为true
72 | //,customDomain:false
73 |
74 | //常用配置项目
75 | //,isShow : true //默认显示编辑器
76 |
77 | //,textarea:'editorValue' // 提交表单时,服务器获取编辑器提交内容的所用的参数,多实例时可以给容器name属性,会将name给定的值最为每个实例的键值,不用每次实例化的时候都设置这个值
78 |
79 | //,initialContent:'欢迎使用ueditor!' //初始化编辑器的内容,也可以通过textarea/script给值,看官网例子
80 |
81 | //,autoClearinitialContent:true //是否自动清除编辑器初始内容,注意:如果focus属性设置为true,这个也为真,那么编辑器一上来就会触发导致初始化的内容看不到了
82 |
83 | //,focus:false //初始化时,是否让编辑器获得焦点true或false
84 |
85 | //如果自定义,最好给p标签如下的行高,要不输入中文时,会有跳动感
86 | //,initialStyle:'p{line-height:1em}'//编辑器层级的基数,可以用来改变字体等
87 |
88 | //,iframeCssUrl: URL + '/themes/iframe.css' //给编辑器内部引入一个css文件
89 |
90 | //,initialFrameWidth:1000 //初始化编辑器宽度,默认1000
91 | ,initialFrameHeight:640 //初始化编辑器高度,默认320
92 |
93 | //,readonly : false //编辑器初始化结束后,编辑区域是否是只读的,默认是false
94 |
95 | //,autoClearEmptyNode : true //getContent时,是否删除空的inlineElement节点(包括嵌套的情况)
96 |
97 | //,imagePopup:true //图片操作的浮层开关,默认打开
98 |
99 | //,emotionLocalization:false //是否开启表情本地化,默认关闭。若要开启请确保emotion文件夹下包含官网提供的images表情文件夹
100 |
101 | //粘贴只保留标签,去除标签所有属性
102 | //,retainOnlyLabelPasted: false
103 |
104 | //,pasteplain:false //是否默认为纯文本粘贴。false为不使用纯文本粘贴,true为使用纯文本粘贴
105 | //纯文本粘贴模式下的过滤规则
106 | //'filterTxtRules' : function(){
107 | // function transP(node){
108 | // node.tagName = 'p';
109 | // node.setStyle();
110 | // }
111 | // return {
112 | // //直接删除及其字节点内容
113 | // '-' : 'script style object iframe embed input select',
114 | // 'p': {$:{}},
115 | // 'br':{$:{}},
116 | // 'div':{'$':{}},
117 | // 'li':{'$':{}},
118 | // 'caption':transP,
119 | // 'th':transP,
120 | // 'tr':transP,
121 | // 'h1':transP,'h2':transP,'h3':transP,'h4':transP,'h5':transP,'h6':transP,
122 | // 'td':function(node){
123 | // //没有内容的td直接删掉
124 | // var txt = !!node.innerText();
125 | // if(txt){
126 | // node.parentNode.insertAfter(UE.uNode.createText(' '),node);
127 | // }
128 | // node.parentNode.removeChild(node,node.innerText())
129 | // }
130 | // }
131 | //}()
132 |
133 | //,allHtmlEnabled:false //提交到后台的数据是否包含整个html字符串
134 |
135 | //,autoTransWordToList:false //禁止word中粘贴进来的列表自动变成列表标签
136 |
137 | //fontfamily
138 | //字体设置 label留空支持多语言自动切换,若配置,则以配置值为准
139 | //,'fontfamily':[
140 | // { label:'',name:'songti',val:'宋体,SimSun'},
141 | // { label:'',name:'kaiti',val:'楷体,楷体_GB2312, SimKai'},
142 | // { label:'',name:'yahei',val:'微软雅黑,Microsoft YaHei'},
143 | // { label:'',name:'heiti',val:'黑体, SimHei'},
144 | // { label:'',name:'lishu',val:'隶书, SimLi'},
145 | // { label:'',name:'andaleMono',val:'andale mono'},
146 | // { label:'',name:'arial',val:'arial, helvetica,sans-serif'},
147 | // { label:'',name:'arialBlack',val:'arial black,avant garde'},
148 | // { label:'',name:'comicSansMs',val:'comic sans ms'},
149 | // { label:'',name:'impact',val:'impact,chicago'},
150 | // { label:'',name:'timesNewRoman',val:'times new roman'}
151 | //]
152 |
153 | //fontsize
154 | //字号
155 | //,'fontsize':[10, 11, 12, 14, 16, 18, 20, 24, 36]
156 |
157 | //快捷菜单
158 | //,shortcutMenu:["fontfamily", "fontsize", "bold", "italic", "underline", "forecolor", "backcolor", "insertorderedlist", "insertunorderedlist"]
159 |
160 | //tab
161 | //点击tab键时移动的距离,tabSize倍数,tabNode什么字符做为单位
162 | //,tabSize:4
163 | //,tabNode:' '
164 |
165 | //removeFormat
166 | //清除格式时可以删除的标签和属性
167 | //removeForamtTags标签
168 | //,removeFormatTags:'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var'
169 | //removeFormatAttributes属性
170 | //,removeFormatAttributes:'class,style,lang,width,height,align,hspace,valign'
171 |
172 | //scaleEnabled
173 | //是否可以拉伸长高,默认true(当开启时,自动长高失效)
174 | ,scaleEnabled:false
175 | //,minFrameWidth:800 //编辑器拖动时最小宽度,默认800
176 | //,minFrameHeight:220 //编辑器拖动时最小高度,默认220
177 |
178 | //tableDragable
179 | //表格是否可以拖拽
180 | //,tableDragable: true
181 |
182 | //,disabledTableInTable:true //禁止表格嵌套
183 |
184 | //sourceEditor
185 | //源码的查看方式,codemirror 是代码高亮,textarea是文本框,默认是codemirror
186 | //注意默认codemirror只能在ie8+和非ie中使用
187 | //,sourceEditor:"codemirror"
188 | //如果sourceEditor是codemirror,还用配置一下两个参数
189 | //codeMirrorJsUrl js加载的路径,默认是 URL + "third-party/codemirror/codemirror.js"
190 | //,codeMirrorJsUrl:URL + "third-party/codemirror/codemirror.js"
191 | //codeMirrorCssUrl css加载的路径,默认是 URL + "third-party/codemirror/codemirror.css"
192 | //,codeMirrorCssUrl:URL + "third-party/codemirror/codemirror.css"
193 | //编辑器初始化完成后是否进入源码模式,默认为否。
194 | //,sourceEditorFirst:false
195 |
196 | //iframeUrlMap
197 | //dialog内容的路径 ~会被替换成URL,垓属性一旦打开,将覆盖所有的dialog的默认路径
198 | //,iframeUrlMap:{
199 | // 'anchor':'~/dialogs/anchor/anchor.html',
200 | //}
201 |
202 | };
203 |
204 | function getUEBasePath(docUrl, confUrl) {
205 |
206 | return getBasePath(docUrl || self.document.URL || self.location.href, confUrl || getConfigFilePath());
207 |
208 | }
209 |
210 | function getConfigFilePath() {
211 |
212 | var configPath = document.getElementsByTagName('script');
213 |
214 | return configPath[ configPath.length - 1 ].src;
215 |
216 | }
217 |
218 | function getBasePath(docUrl, confUrl) {
219 |
220 | var basePath = confUrl;
221 |
222 |
223 | if (/^(\/|\\\\)/.test(confUrl)) {
224 |
225 | basePath = /^.+?\w(\/|\\\\)/.exec(docUrl)[0] + confUrl.replace(/^(\/|\\\\)/, '');
226 |
227 | } else if (!/^[a-z]+:/i.test(confUrl)) {
228 |
229 | docUrl = docUrl.split("#")[0].split("?")[0].replace(/[^\\\/]+$/, '');
230 |
231 | basePath = docUrl + "" + confUrl;
232 |
233 | }
234 |
235 | return optimizationPath(basePath);
236 |
237 | }
238 |
239 | function optimizationPath(path) {
240 |
241 | var protocol = /^[a-z]+:\/\//.exec(path)[ 0 ],
242 | tmp = null,
243 | res = [];
244 |
245 | path = path.replace(protocol, "").split("?")[0].split("#")[0];
246 |
247 | path = path.replace(/\\/g, '/').split(/\//);
248 |
249 | path[ path.length - 1 ] = "";
250 |
251 | while (path.length) {
252 |
253 | if (( tmp = path.shift() ) === "..") {
254 | res.pop();
255 | } else if (tmp !== ".") {
256 | res.push(tmp);
257 | }
258 |
259 | }
260 |
261 | return protocol + res.join("/");
262 |
263 | }
264 |
265 | window.UE = {
266 | getUEBasePath: getUEBasePath
267 | };
268 |
269 | })();
270 |
--------------------------------------------------------------------------------
/WebRoot/ueditor-min-1.4.3/third-party/video-js/video-js.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | Video.js Default Styles (http://videojs.com)
3 | Version 4.3.0
4 | Create your own skin at http://designer.videojs.com
5 | */.vjs-default-skin{color:#ccc}@font-face{font-family:VideoJS;src:url(font/vjs.eot);src:url(font/vjs.eot?#iefix) format('embedded-opentype'),url(font/vjs.woff) format('woff'),url(font/vjs.ttf) format('truetype');font-weight:400;font-style:normal}.vjs-default-skin .vjs-slider{outline:0;position:relative;cursor:pointer;padding:0;background-color:#333;background-color:rgba(51,51,51,.9)}.vjs-default-skin .vjs-slider:focus{-webkit-box-shadow:0 0 2em #fff;-moz-box-shadow:0 0 2em #fff;box-shadow:0 0 2em #fff}.vjs-default-skin .vjs-slider-handle{position:absolute;left:0;top:0}.vjs-default-skin .vjs-slider-handle:before{content:"\e009";font-family:VideoJS;font-size:1em;line-height:1;text-align:center;text-shadow:0 0 1em #fff;position:absolute;top:0;left:0;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.vjs-default-skin .vjs-control-bar{display:none;position:absolute;bottom:0;left:0;right:0;height:3em;background-color:#07141e;background-color:rgba(7,20,30,.7)}.vjs-default-skin.vjs-has-started .vjs-control-bar{display:block;visibility:visible;opacity:1;-webkit-transition:visibility .1s,opacity .1s;-moz-transition:visibility .1s,opacity .1s;-o-transition:visibility .1s,opacity .1s;transition:visibility .1s,opacity .1s}.vjs-default-skin.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{display:block;visibility:hidden;opacity:0;-webkit-transition:visibility 1s,opacity 1s;-moz-transition:visibility 1s,opacity 1s;-o-transition:visibility 1s,opacity 1s;transition:visibility 1s,opacity 1s}.vjs-default-skin.vjs-controls-disabled .vjs-control-bar{display:none}.vjs-default-skin.vjs-using-native-controls .vjs-control-bar{display:none}@media \0screen{.vjs-default-skin.vjs-user-inactive.vjs-playing .vjs-control-bar :before{content:""}}.vjs-default-skin .vjs-control{outline:0;position:relative;float:left;text-align:center;margin:0;padding:0;height:3em;width:4em}.vjs-default-skin .vjs-control:before{font-family:VideoJS;font-size:1.5em;line-height:2;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;text-shadow:1px 1px 1px rgba(0,0,0,.5)}.vjs-default-skin .vjs-control:focus:before,.vjs-default-skin .vjs-control:hover:before{text-shadow:0 0 1em #fff}.vjs-default-skin .vjs-control:focus{}.vjs-default-skin .vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-default-skin .vjs-play-control{width:5em;cursor:pointer}.vjs-default-skin .vjs-play-control:before{content:"\e001"}.vjs-default-skin.vjs-playing .vjs-play-control:before{content:"\e002"}.vjs-default-skin .vjs-mute-control,.vjs-default-skin .vjs-volume-menu-button{cursor:pointer;float:right}.vjs-default-skin .vjs-mute-control:before,.vjs-default-skin .vjs-volume-menu-button:before{content:"\e006"}.vjs-default-skin .vjs-mute-control.vjs-vol-0:before,.vjs-default-skin .vjs-volume-menu-button.vjs-vol-0:before{content:"\e003"}.vjs-default-skin .vjs-mute-control.vjs-vol-1:before,.vjs-default-skin .vjs-volume-menu-button.vjs-vol-1:before{content:"\e004"}.vjs-default-skin .vjs-mute-control.vjs-vol-2:before,.vjs-default-skin .vjs-volume-menu-button.vjs-vol-2:before{content:"\e005"}.vjs-default-skin .vjs-volume-control{width:5em;float:right}.vjs-default-skin .vjs-volume-bar{width:5em;height:.6em;margin:1.1em auto 0}.vjs-default-skin .vjs-volume-menu-button .vjs-menu-content{height:2.9em}.vjs-default-skin .vjs-volume-level{position:absolute;top:0;left:0;height:.5em;background:#66a8cc url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAP0lEQVQIHWWMAQoAIAgDR/QJ/Ub//04+w7ZICBwcOg5FZi5iBB82AGzixEglJrd4TVK5XUJpskSTEvpdFzX9AB2pGziSQcvAAAAAAElFTkSuQmCC) -50% 0 repeat}.vjs-default-skin .vjs-volume-bar .vjs-volume-handle{width:.5em;height:.5em}.vjs-default-skin .vjs-volume-handle:before{font-size:.9em;top:-.2em;left:-.2em;width:1em;height:1em}.vjs-default-skin .vjs-volume-menu-button .vjs-menu .vjs-menu-content{width:6em;left:-4em}.vjs-default-skin .vjs-progress-control{position:absolute;left:0;right:0;width:auto;font-size:.3em;height:1em;top:-1em;-webkit-transition:all .4s;-moz-transition:all .4s;-o-transition:all .4s;transition:all .4s}.vjs-default-skin:hover .vjs-progress-control{font-size:.9em;-webkit-transition:all .2s;-moz-transition:all .2s;-o-transition:all .2s;transition:all .2s}.vjs-default-skin .vjs-progress-holder{height:100%}.vjs-default-skin .vjs-progress-holder .vjs-play-progress,.vjs-default-skin .vjs-progress-holder .vjs-load-progress{position:absolute;display:block;height:100%;margin:0;padding:0;left:0;top:0}.vjs-default-skin .vjs-play-progress{background:#66a8cc url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAP0lEQVQIHWWMAQoAIAgDR/QJ/Ub//04+w7ZICBwcOg5FZi5iBB82AGzixEglJrd4TVK5XUJpskSTEvpdFzX9AB2pGziSQcvAAAAAAElFTkSuQmCC) -50% 0 repeat}.vjs-default-skin .vjs-load-progress{background:#646464;background:rgba(255,255,255,.4)}.vjs-default-skin .vjs-seek-handle{width:1.5em;height:100%}.vjs-default-skin .vjs-seek-handle:before{padding-top:.1em}.vjs-default-skin .vjs-time-controls{font-size:1em;line-height:3em}.vjs-default-skin .vjs-current-time{float:left}.vjs-default-skin .vjs-duration{float:left}.vjs-default-skin .vjs-remaining-time{display:none;float:left}.vjs-time-divider{float:left;line-height:3em}.vjs-default-skin .vjs-fullscreen-control{width:3.8em;cursor:pointer;float:right}.vjs-default-skin .vjs-fullscreen-control:before{content:"\e000"}.vjs-default-skin.vjs-fullscreen .vjs-fullscreen-control:before{content:"\e00b"}.vjs-default-skin .vjs-big-play-button{left:.5em;top:.5em;font-size:3em;display:block;z-index:2;position:absolute;width:4em;height:2.6em;text-align:center;vertical-align:middle;cursor:pointer;opacity:1;background-color:#07141e;background-color:rgba(7,20,30,.7);border:.1em solid #3b4249;-webkit-border-radius:.8em;-moz-border-radius:.8em;border-radius:.8em;-webkit-box-shadow:0 0 1em rgba(255,255,255,.25);-moz-box-shadow:0 0 1em rgba(255,255,255,.25);box-shadow:0 0 1em rgba(255,255,255,.25);-webkit-transition:all .4s;-moz-transition:all .4s;-o-transition:all .4s;transition:all .4s}.vjs-default-skin.vjs-big-play-centered .vjs-big-play-button{left:50%;margin-left:-2.1em;top:50%;margin-top:-1.4000000000000001em}.vjs-default-skin.vjs-controls-disabled .vjs-big-play-button{display:none}.vjs-default-skin.vjs-has-started .vjs-big-play-button{display:none}.vjs-default-skin.vjs-using-native-controls .vjs-big-play-button{display:none}.vjs-default-skin:hover .vjs-big-play-button,.vjs-default-skin .vjs-big-play-button:focus{outline:0;border-color:#fff;background-color:#505050;background-color:rgba(50,50,50,.75);-webkit-box-shadow:0 0 3em #fff;-moz-box-shadow:0 0 3em #fff;box-shadow:0 0 3em #fff;-webkit-transition:all 0s;-moz-transition:all 0s;-o-transition:all 0s;transition:all 0s}.vjs-default-skin .vjs-big-play-button:before{content:"\e001";font-family:VideoJS;line-height:2.6em;text-shadow:.05em .05em .1em #000;text-align:center;position:absolute;left:0;width:100%;height:100%}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;font-size:4em;line-height:1;width:1em;height:1em;margin-left:-.5em;margin-top:-.5em;opacity:.75;-webkit-animation:spin 1.5s infinite linear;-moz-animation:spin 1.5s infinite linear;-o-animation:spin 1.5s infinite linear;animation:spin 1.5s infinite linear}.vjs-default-skin .vjs-loading-spinner:before{content:"\e01e";font-family:VideoJS;position:absolute;top:0;left:0;width:1em;height:1em;text-align:center;text-shadow:0 0 .1em #000}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.vjs-default-skin .vjs-menu-button{float:right;cursor:pointer}.vjs-default-skin .vjs-menu{display:none;position:absolute;bottom:0;left:0;width:0;height:0;margin-bottom:3em;border-left:2em solid transparent;border-right:2em solid transparent;border-top:1.55em solid #000;border-top-color:rgba(7,40,50,.5)}.vjs-default-skin .vjs-menu-button .vjs-menu .vjs-menu-content{display:block;padding:0;margin:0;position:absolute;width:10em;bottom:1.5em;max-height:15em;overflow:auto;left:-5em;background-color:#07141e;background-color:rgba(7,20,30,.7);-webkit-box-shadow:-.2em -.2em .3em rgba(255,255,255,.2);-moz-box-shadow:-.2em -.2em .3em rgba(255,255,255,.2);box-shadow:-.2em -.2em .3em rgba(255,255,255,.2)}.vjs-default-skin .vjs-menu-button:hover .vjs-menu{display:block}.vjs-default-skin .vjs-menu-button ul li{list-style:none;margin:0;padding:.3em 0;line-height:1.4em;font-size:1.2em;text-align:center;text-transform:lowercase}.vjs-default-skin .vjs-menu-button ul li.vjs-selected{background-color:#000}.vjs-default-skin .vjs-menu-button ul li:focus,.vjs-default-skin .vjs-menu-button ul li:hover,.vjs-default-skin .vjs-menu-button ul li.vjs-selected:focus,.vjs-default-skin .vjs-menu-button ul li.vjs-selected:hover{outline:0;color:#111;background-color:#fff;background-color:rgba(255,255,255,.75);-webkit-box-shadow:0 0 1em #fff;-moz-box-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.vjs-default-skin .vjs-menu-button ul li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em;font-weight:700;cursor:default}.vjs-default-skin .vjs-subtitles-button:before{content:"\e00c"}.vjs-default-skin .vjs-captions-button:before{content:"\e008"}.vjs-default-skin .vjs-captions-button:focus .vjs-control-content:before,.vjs-default-skin .vjs-captions-button:hover .vjs-control-content:before{-webkit-box-shadow:0 0 1em #fff;-moz-box-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.video-js{background-color:#000;position:relative;padding:0;font-size:10px;vertical-align:middle;font-weight:400;font-style:normal;font-family:Arial,sans-serif;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%}.video-js:-moz-full-screen{position:absolute}body.vjs-full-window{padding:0;margin:0;height:100%;overflow-y:auto}.video-js.vjs-fullscreen{position:fixed;overflow:hidden;z-index:1000;left:0;top:0;bottom:0;right:0;width:100%!important;height:100%!important;_position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-poster{background-repeat:no-repeat;background-position:50% 50%;background-size:contain;cursor:pointer;height:100%;margin:0;padding:0;position:relative;width:100%}.vjs-poster img{display:block;margin:0 auto;max-height:100%;padding:0;width:100%}.video-js.vjs-using-native-controls .vjs-poster{display:none}.video-js .vjs-text-track-display{text-align:center;position:absolute;bottom:4em;left:1em;right:1em}.video-js .vjs-text-track{display:none;font-size:1.4em;text-align:center;margin-bottom:.1em;background-color:#000;background-color:rgba(0,0,0,.5)}.video-js .vjs-subtitles{color:#fff}.video-js .vjs-captions{color:#fc6}.vjs-tt-cue{display:block}.vjs-default-skin .vjs-hidden{display:none}.vjs-lock-showing{display:block!important;opacity:1;visibility:visible}
--------------------------------------------------------------------------------
/WebRoot/ueditor-min-1.4.3/ueditor.parse.min.js:
--------------------------------------------------------------------------------
1 | !function(){!function(){UE=window.UE||{};var isIE=!!window.ActiveXObject;var utils={removeLastbs:function(url){return url.replace(/\/$/,"")},extend:function(t,s){var a=arguments,notCover=this.isBoolean(a[a.length-1])?a[a.length-1]:false,len=this.isBoolean(a[a.length-1])?a.length-1:a.length;for(var i=1;i
=start&&v===item){index=i;return false}});return index},hasClass:function(element,className){className=className.replace(/(^[ ]+)|([ ]+$)/g,"").replace(/[ ]{2,}/g," ").split(" ");for(var i=0,ci,cls=element.className;ci=className[i++];){if(!new RegExp("\\b"+ci+"\\b","i").test(cls)){return false}}return i-1==className.length},addClass:function(elm,classNames){if(!elm)return;classNames=this.trim(classNames).replace(/[ ]{2,}/g," ").split(" ");for(var i=0,ci,cls=elm.className;ci=classNames[i++];){if(!new RegExp("\\b"+ci+"\\b").test(cls)){cls+=" "+ci}}elm.className=utils.trim(cls)},removeClass:function(elm,classNames){classNames=this.isArray(classNames)?classNames:this.trim(classNames).replace(/[ ]{2,}/g," ").split(" ");for(var i=0,ci,cls=elm.className;ci=classNames[i++];){cls=cls.replace(new RegExp("\\b"+ci+"\\b"),"")}cls=this.trim(cls).replace(/[ ]{2,}/g," ");elm.className=cls;!cls&&elm.removeAttribute("className")},on:function(element,type,handler){var types=this.isArray(type)?type:type.split(/\s+/),k=types.length;if(k)while(k--){type=types[k];if(element.addEventListener){element.addEventListener(type,handler,false)}else{if(!handler._d){handler._d={els:[]}}var key=type+handler.toString(),index=utils.indexOf(handler._d.els,element);if(!handler._d[key]||index==-1){if(index==-1){handler._d.els.push(element)}if(!handler._d[key]){handler._d[key]=function(evt){return handler.call(evt.srcElement,evt||window.event)}}element.attachEvent("on"+type,handler._d[key])}}}element=null},off:function(element,type,handler){var types=this.isArray(type)?type:type.split(/\s+/),k=types.length;if(k)while(k--){type=types[k];if(element.removeEventListener){element.removeEventListener(type,handler,false)}else{var key=type+handler.toString();try{element.detachEvent("on"+type,handler._d?handler._d[key]:handler)}catch(e){}if(handler._d&&handler._d[key]){var index=utils.indexOf(handler._d.els,element);if(index!=-1){handler._d.els.splice(index,1)}handler._d.els.length==0&&delete handler._d[key]}}}},loadFile:function(){var tmpList=[];function getItem(doc,obj){try{for(var i=0,ci;ci=tmpList[i++];){if(ci.doc===doc&&ci.url==(obj.src||obj.href)){return ci}}}catch(e){return null}}return function(doc,obj,fn){var item=getItem(doc,obj);if(item){if(item.ready){fn&&fn()}else{item.funs.push(fn)}return}tmpList.push({doc:doc,url:obj.src||obj.href,funs:[fn]});if(!doc.body){var html=[];for(var p in obj){if(p=="tag")continue;html.push(p+'="'+obj[p]+'"')}doc.write("<"+obj.tag+" "+html.join(" ")+" >"+obj.tag+">");return}if(obj.id&&doc.getElementById(obj.id)){return}var element=doc.createElement(obj.tag);delete obj.tag;for(var p in obj){element.setAttribute(p,obj[p])}element.onload=element.onreadystatechange=function(){if(!this.readyState||/loaded|complete/.test(this.readyState)){item=getItem(doc,obj);if(item.funs.length>0){item.ready=1;for(var fi;fi=item.funs.pop();){fi()}}element.onload=element.onreadystatechange=null}};element.onerror=function(){throw Error("The load "+(obj.href||obj.src)+" fails,check the url")};doc.getElementsByTagName("head")[0].appendChild(element)}}()};utils.each(["String","Function","Array","Number","RegExp","Object","Boolean"],function(v){utils["is"+v]=function(obj){return Object.prototype.toString.apply(obj)=="[object "+v+"]"}});var parselist={};UE.parse={register:function(parseName,fn){parselist[parseName]=fn},load:function(opt){utils.each(parselist,function(v){v.call(opt,utils)})}};uParse=function(selector,opt){utils.domReady(function(){var contents;if(document.querySelectorAll){contents=document.querySelectorAll(selector)}else{if(/^#/.test(selector)){contents=[document.getElementById(selector.replace(/^#/,""))]}else if(/^\./.test(selector)){var contents=[];utils.each(document.getElementsByTagName("*"),function(node){if(node.className&&new RegExp("\\b"+selector.replace(/^\./,"")+"\\b","i").test(node.className)){contents.push(node)}})}else{contents=document.getElementsByTagName(selector)}}utils.each(contents,function(v){UE.parse.load(utils.extend({root:v,selector:selector},opt))})})}}();UE.parse.register("vedio",function(utils){var video=this.root.getElementsByTagName("video"),audio=this.root.getElementsByTagName("audio");document.createElement("video");document.createElement("audio");if(video.length||audio.length){var sourcePath=utils.removeLastbs(this.rootPath),jsurl=sourcePath+"/third-party/video-js/video.js",cssurl=sourcePath+"/third-party/video-js/video-js.min.css",swfUrl=sourcePath+"/third-party/video-js/video-js.swf";if(window.videojs){videojs.autoSetup()}else{utils.loadFile(document,{id:"video_css",tag:"link",rel:"stylesheet",type:"text/css",href:cssurl});utils.loadFile(document,{id:"video_js",src:jsurl,tag:"script",type:"text/javascript"},function(){videojs.options.flash.swf=swfUrl;videojs.autoSetup()})}}});UE.parse.register("insertcode",function(utils){var pres=this.root.getElementsByTagName("pre");if(pres.length){if(typeof XRegExp=="undefined"){var jsurl,cssurl;if(this.rootPath!==undefined){jsurl=utils.removeLastbs(this.rootPath)+"/third-party/SyntaxHighlighter/shCore.js";cssurl=utils.removeLastbs(this.rootPath)+"/third-party/SyntaxHighlighter/shCoreDefault.css"}else{jsurl=this.highlightJsUrl;cssurl=this.highlightCssUrl}utils.loadFile(document,{id:"syntaxhighlighter_css",tag:"link",rel:"stylesheet",type:"text/css",href:cssurl});utils.loadFile(document,{id:"syntaxhighlighter_js",src:jsurl,tag:"script",type:"text/javascript",defer:"defer"},function(){utils.each(pres,function(pi){if(pi&&/brush/i.test(pi.className)){SyntaxHighlighter.highlight(pi)}})})}else{utils.each(pres,function(pi){if(pi&&/brush/i.test(pi.className)){SyntaxHighlighter.highlight(pi)}})}}});UE.parse.register("table",function(utils){var me=this,root=this.root,tables=root.getElementsByTagName("table");if(tables.length){var selector=this.selector;utils.cssRule("table",selector+" table.noBorderTable td,"+selector+" table.noBorderTable th,"+selector+" table.noBorderTable caption{border:1px dashed #ddd !important}"+selector+" table.sortEnabled tr.firstRow th,"+selector+" table.sortEnabled tr.firstRow td{padding-right:20px; background-repeat: no-repeat;"+"background-position: center right; background-image:url("+this.rootPath+"themes/default/images/sortable.png);}"+selector+" table.sortEnabled tr.firstRow th:hover,"+selector+" table.sortEnabled tr.firstRow td:hover{background-color: #EEE;}"+selector+" table{margin-bottom:10px;border-collapse:collapse;display:table;}"+selector+" td,"+selector+" th{ background:white; padding: 5px 10px;border: 1px solid #DDD;}"+selector+" caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}"+selector+" th{border-top:1px solid #BBB;background:#F7F7F7;}"+selector+" table tr.firstRow th{border-top:2px solid #BBB;background:#F7F7F7;}"+selector+" tr.ue-table-interlace-color-single td{ background: #fcfcfc; }"+selector+" tr.ue-table-interlace-color-double td{ background: #f7faff; }"+selector+" td p{margin:0;padding:0;}",document);utils.each("td th caption".split(" "),function(tag){var cells=root.getElementsByTagName(tag);cells.length&&utils.each(cells,function(node){if(!node.firstChild){node.innerHTML=" "}})});var tables=root.getElementsByTagName("table");utils.each(tables,function(table){if(/\bsortEnabled\b/.test(table.className)){utils.on(table,"click",function(e){var target=e.target||e.srcElement,cell=findParentByTagName(target,["td","th"]);var table=findParentByTagName(target,"table"),colIndex=utils.indexOf(table.rows[0].cells,cell),sortType=table.getAttribute("data-sort-type");if(colIndex!=-1){sortTable(table,colIndex,me.tableSortCompareFn||sortType);updateTable(table)}})}});function findParentByTagName(target,tagNames){var i,current=target;tagNames=utils.isArray(tagNames)?tagNames:[tagNames];while(current){for(i=0;i0){var t=array[i];array[i]=array[j];array[j]=t}}}return array}function updateTable(table){if(!utils.hasClass(table.rows[0],"firstRow")){for(var i=1;i