baidu_ueditor_rails 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +14 -0
- data/Gemfile.lock +88 -0
- data/bin/rails +8 -0
- data/vendor/assets/javascripts/ueditor/dialogs/anchor/anchor.html +40 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/attachment.css +130 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/attachment.html +128 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/callbacks.js +166 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_default.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeMaps.js +29 -0
- data/vendor/assets/javascripts/ueditor/dialogs/background/background.css +25 -0
- data/vendor/assets/javascripts/ueditor/dialogs/background/background.html +56 -0
- data/vendor/assets/javascripts/ueditor/dialogs/background/background.js +251 -0
- data/vendor/assets/javascripts/ueditor/dialogs/charts/chart.config.js +65 -0
- data/vendor/assets/javascripts/ueditor/dialogs/charts/charts.css +165 -0
- data/vendor/assets/javascripts/ueditor/dialogs/charts/charts.html +89 -0
- data/vendor/assets/javascripts/ueditor/dialogs/charts/charts.js +519 -0
- data/vendor/assets/javascripts/ueditor/dialogs/charts/images/charts0.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/charts/images/charts1.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/charts/images/charts2.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/charts/images/charts3.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/charts/images/charts4.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/charts/images/charts5.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/emotion/emotion.css +43 -0
- data/vendor/assets/javascripts/ueditor/dialogs/emotion/emotion.html +54 -0
- data/vendor/assets/javascripts/ueditor/dialogs/emotion/emotion.js +186 -0
- data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/0.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/bface.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/cface.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/fface.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/jxface2.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/neweditor-tab-bg.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/tface.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/wface.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/yface.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/gmap/gmap.html +89 -0
- data/vendor/assets/javascripts/ueditor/dialogs/help/help.css +7 -0
- data/vendor/assets/javascripts/ueditor/dialogs/help/help.html +82 -0
- data/vendor/assets/javascripts/ueditor/dialogs/help/help.js +56 -0
- data/vendor/assets/javascripts/ueditor/dialogs/image/image.css +69 -0
- data/vendor/assets/javascripts/ueditor/dialogs/image/image.html +257 -0
- data/vendor/assets/javascripts/ueditor/dialogs/image/image.js +713 -0
- data/vendor/assets/javascripts/ueditor/dialogs/image/imageUploader.swf +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/image/images/center_focus.jpg +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/image/images/left_focus.jpg +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/image/images/none_focus.jpg +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/image/images/right_focus.jpg +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/insertframe/insertframe.html +98 -0
- data/vendor/assets/javascripts/ueditor/dialogs/internal.js +81 -0
- data/vendor/assets/javascripts/ueditor/dialogs/link/link.html +126 -0
- data/vendor/assets/javascripts/ueditor/dialogs/map/map.html +135 -0
- data/vendor/assets/javascripts/ueditor/dialogs/map/show.html +118 -0
- data/vendor/assets/javascripts/ueditor/dialogs/music/music.css +30 -0
- data/vendor/assets/javascripts/ueditor/dialogs/music/music.html +32 -0
- data/vendor/assets/javascripts/ueditor/dialogs/music/music.js +192 -0
- data/vendor/assets/javascripts/ueditor/dialogs/preview/preview.html +40 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/addimg.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/brush.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/delimg.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/delimgH.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/empty.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/emptyH.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/eraser.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/redo.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/redoH.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/scale.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/scaleH.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/size.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/undo.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/undoH.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/scrawl.css +72 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/scrawl.html +95 -0
- data/vendor/assets/javascripts/ueditor/dialogs/scrawl/scrawl.js +655 -0
- data/vendor/assets/javascripts/ueditor/dialogs/searchreplace/searchreplace.html +102 -0
- data/vendor/assets/javascripts/ueditor/dialogs/searchreplace/searchreplace.js +164 -0
- data/vendor/assets/javascripts/ueditor/dialogs/snapscreen/snapscreen.html +58 -0
- data/vendor/assets/javascripts/ueditor/dialogs/spechars/spechars.html +21 -0
- data/vendor/assets/javascripts/ueditor/dialogs/spechars/spechars.js +57 -0
- data/vendor/assets/javascripts/ueditor/dialogs/table/dragicon.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/table/edittable.css +84 -0
- data/vendor/assets/javascripts/ueditor/dialogs/table/edittable.html +64 -0
- data/vendor/assets/javascripts/ueditor/dialogs/table/edittable.js +237 -0
- data/vendor/assets/javascripts/ueditor/dialogs/table/edittd.html +61 -0
- data/vendor/assets/javascripts/ueditor/dialogs/table/edittip.html +33 -0
- data/vendor/assets/javascripts/ueditor/dialogs/tangram.js +1495 -0
- data/vendor/assets/javascripts/ueditor/dialogs/template/config.js +42 -0
- data/vendor/assets/javascripts/ueditor/dialogs/template/images/bg.gif +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/template/images/pre0.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/template/images/pre1.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/template/images/pre2.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/template/images/pre3.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/template/images/pre4.png +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/template/template.css +18 -0
- data/vendor/assets/javascripts/ueditor/dialogs/template/template.html +26 -0
- data/vendor/assets/javascripts/ueditor/dialogs/template/template.js +53 -0
- data/vendor/assets/javascripts/ueditor/dialogs/video/callbacks.js +166 -0
- data/vendor/assets/javascripts/ueditor/dialogs/video/images/center_focus.jpg +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/video/images/left_focus.jpg +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/video/images/none_focus.jpg +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/video/images/right_focus.jpg +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/video/video.css +150 -0
- data/vendor/assets/javascripts/ueditor/dialogs/video/video.html +95 -0
- data/vendor/assets/javascripts/ueditor/dialogs/video/video.js +471 -0
- data/vendor/assets/javascripts/ueditor/dialogs/webapp/webapp.html +53 -0
- data/vendor/assets/javascripts/ueditor/dialogs/wordimage/fClipboard_ueditor.swf +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/wordimage/imageUploader.swf +0 -0
- data/vendor/assets/javascripts/ueditor/dialogs/wordimage/wordimage.html +104 -0
- data/vendor/assets/javascripts/ueditor/dialogs/wordimage/wordimage.js +158 -0
- data/vendor/assets/javascripts/ueditor/index.html +175 -0
- data/vendor/assets/javascripts/ueditor/lang/en/en.js +638 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/addimage.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/alldeletebtnhoverskin.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/alldeletebtnupskin.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/background.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/button.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/copy.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/deletedisable.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/deleteenable.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/imglabel.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/listbackground.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/localimage.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/music.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/rotateleftdisable.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/rotateleftenable.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/rotaterightdisable.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/rotaterightenable.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/en/images/upload.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/copy.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/imglabel.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/localimage.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/music.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/upload.png +0 -0
- data/vendor/assets/javascripts/ueditor/lang/zh-cn/zh-cn.js +605 -0
- data/vendor/assets/javascripts/ueditor/themes/default/css/ueditor.css +1823 -0
- data/vendor/assets/javascripts/ueditor/themes/default/css/ueditor.min.css +8 -0
- data/vendor/assets/javascripts/ueditor/themes/default/dialogbase.css +100 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/anchor.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/arrow.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/arrow_down.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/arrow_up.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/button-bg.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/cancelbutton.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/charts.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/cursor_h.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/cursor_h.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/cursor_v.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/cursor_v.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/dialog-title-bg.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/filescan.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/highlighted.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/icons-all.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/icons.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/icons.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/lock.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/neweditor-tab-bg.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/pagebreak.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/scale.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/sortable.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/spacer.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/sparator_v.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/table-cell-align.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/tangram-colorpicker.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/toolbar_bg.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/unhighlighted.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/upload.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/videologo.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/word.gif +0 -0
- data/vendor/assets/javascripts/ueditor/themes/default/images/wordpaste.png +0 -0
- data/vendor/assets/javascripts/ueditor/themes/iframe.css +1 -0
- data/vendor/assets/javascripts/ueditor/third-party/SyntaxHighlighter/shCore.js +3655 -0
- data/vendor/assets/javascripts/ueditor/third-party/SyntaxHighlighter/shCoreDefault.css +1 -0
- data/vendor/assets/javascripts/ueditor/third-party/codemirror/codemirror.css +104 -0
- data/vendor/assets/javascripts/ueditor/third-party/codemirror/codemirror.js +3581 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/adapters/mootools-adapter.js +13 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/adapters/mootools-adapter.src.js +313 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/adapters/prototype-adapter.js +15 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/adapters/prototype-adapter.src.js +316 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/adapters/standalone-framework.js +17 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/adapters/standalone-framework.src.js +583 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/highcharts-more.js +50 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/highcharts-more.src.js +2430 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/highcharts.js +283 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/highcharts.src.js +16974 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/annotations.js +7 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/annotations.src.js +401 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/canvas-tools.js +133 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/canvas-tools.src.js +3113 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/data.js +17 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/data.src.js +582 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/drilldown.js +11 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/drilldown.src.js +447 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/exporting.js +22 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/exporting.src.js +709 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/funnel.js +12 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/funnel.src.js +289 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/heatmap.js +1 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/heatmap.src.js +53 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/map.js +27 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/map.src.js +1002 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/no-data-to-display.js +12 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/no-data-to-display.src.js +128 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/themes/dark-blue.js +254 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/themes/dark-green.js +255 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/themes/gray.js +257 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/themes/grid.js +103 -0
- data/vendor/assets/javascripts/ueditor/third-party/highcharts/themes/skies.js +89 -0
- data/vendor/assets/javascripts/ueditor/third-party/jquery-1.10.2.min.js +6 -0
- data/vendor/assets/javascripts/ueditor/third-party/snapscreen/UEditorSnapscreen.exe +0 -0
- data/vendor/assets/javascripts/ueditor/third-party/swfupload/fileprogress.js +215 -0
- data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.cookies.js +53 -0
- data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.js +1132 -0
- data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.proxy.js +96 -0
- data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.queue.js +98 -0
- data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.speed.js +346 -0
- data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.swf +0 -0
- data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload_fp9.swf +0 -0
- data/vendor/assets/javascripts/ueditor/third-party/video-js/font/vjs.eot +0 -0
- data/vendor/assets/javascripts/ueditor/third-party/video-js/font/vjs.svg +65 -0
- data/vendor/assets/javascripts/ueditor/third-party/video-js/font/vjs.ttf +0 -0
- data/vendor/assets/javascripts/ueditor/third-party/video-js/font/vjs.woff +0 -0
- data/vendor/assets/javascripts/ueditor/third-party/video-js/video-js.css +766 -0
- data/vendor/assets/javascripts/ueditor/third-party/video-js/video-js.min.css +5 -0
- data/vendor/assets/javascripts/ueditor/third-party/video-js/video-js.swf +0 -0
- data/vendor/assets/javascripts/ueditor/third-party/video-js/video.dev.js +7108 -0
- data/vendor/assets/javascripts/ueditor/third-party/video-js/video.js +129 -0
- data/vendor/assets/javascripts/ueditor/ueditor.all.js +27535 -0
- data/vendor/assets/javascripts/ueditor/ueditor.all.min.js +664 -0
- data/vendor/assets/javascripts/ueditor/ueditor.config.js +452 -0
- data/vendor/assets/javascripts/ueditor/ueditor.parse.js +1015 -0
- data/vendor/assets/javascripts/ueditor/ueditor.parse.min.js +28 -0
- metadata +241 -1
@@ -0,0 +1,452 @@
|
|
1
|
+
/**
|
2
|
+
* ueditor完整配置项
|
3
|
+
* 可以在这里配置整个编辑器的特性
|
4
|
+
*/
|
5
|
+
/**************************提示********************************
|
6
|
+
* 所有被注释的配置项均为UEditor默认值。
|
7
|
+
* 修改默认配置请首先确保已经完全明确该参数的真实用途。
|
8
|
+
* 主要有两种修改方案,一种是取消此处注释,然后修改成对应参数;另一种是在实例化编辑器时传入对应参数。
|
9
|
+
* 当升级编辑器时,可直接使用旧版配置文件替换新版配置文件,不用担心旧版配置文件中因缺少新功能所需的参数而导致脚本报错。
|
10
|
+
**************************提示********************************/
|
11
|
+
|
12
|
+
|
13
|
+
(function () {
|
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
|
+
,imageUrl:URL+"php/imageUp.php" //图片上传提交地址
|
34
|
+
,imagePath:URL + "php/" //图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置
|
35
|
+
//,imageFieldName:"upfile" //图片数据的key,若此处修改,需要在后台对应文件修改对应参数
|
36
|
+
//,compressSide:0 //等比压缩的基准,确定maxImageSideLength参数的参照对象。0为按照最长边,1为按照宽度,2为按照高度
|
37
|
+
//,maxImageSideLength:900 //上传图片最大允许的边长,超过会自动等比缩放,不缩放就设置一个比较大的值,更多设置在image.html中
|
38
|
+
//,savePath: [ 'upload1', 'upload2', 'upload3' ] //图片保存在服务器端的目录, 默认为空, 此时在上传图片时会向服务器请求保存图片的目录列表,
|
39
|
+
// 如果用户不希望发送请求, 则可以在这里设置与服务器端能够对应上的目录名称列表
|
40
|
+
//比如: savePath: [ 'upload1', 'upload2' ]
|
41
|
+
|
42
|
+
//涂鸦图片配置区
|
43
|
+
,scrawlUrl:URL+"php/scrawlUp.php" //涂鸦上传地址
|
44
|
+
,scrawlPath:URL+"php/" //图片修正地址,同imagePath
|
45
|
+
|
46
|
+
//附件上传配置区
|
47
|
+
,fileUrl:URL+"php/fileUp.php" //附件上传提交地址
|
48
|
+
,filePath:URL + "php/" //附件修正地址,同imagePath
|
49
|
+
//,fileFieldName:"upfile" //附件提交的表单名,若此处修改,需要在后台对应文件修改对应参数
|
50
|
+
|
51
|
+
//远程抓取配置区
|
52
|
+
//,catchRemoteImageEnable:true //是否开启远程图片抓取,默认开启
|
53
|
+
,catcherUrl:URL +"php/getRemoteImage.php" //处理远程图片抓取的地址
|
54
|
+
,catcherPath:URL + "php/" //图片修正地址,同imagePath
|
55
|
+
//,catchFieldName:"upfile" //提交到后台远程图片uri合集,若此处修改,需要在后台对应文件修改对应参数
|
56
|
+
//,separater:'ue_separate_ue' //提交至后台的远程图片地址字符串分隔符
|
57
|
+
//,localDomain:[] //本地顶级域名,当开启远程图片抓取时,除此之外的所有其它域名下的图片都将被抓取到本地,默认不抓取127.0.0.1和localhost
|
58
|
+
|
59
|
+
//图片在线管理配置区
|
60
|
+
,imageManagerUrl:URL + "php/imageManager.php" //图片在线管理的处理地址
|
61
|
+
,imageManagerPath:URL + "php/" //图片修正地址,同imagePath
|
62
|
+
|
63
|
+
//屏幕截图配置区
|
64
|
+
,snapscreenHost: location.hostname //屏幕截图的server端文件所在的网站地址或者ip,请不要加http://
|
65
|
+
,snapscreenServerUrl: URL +"php/imageUp.php" //屏幕截图的server端保存程序,UEditor的范例代码为“URL +"server/upload/php/snapImgUp.php"”
|
66
|
+
,snapscreenPath: URL + "php/"
|
67
|
+
,snapscreenServerPort: location.port //屏幕截图的server端端口
|
68
|
+
//,snapscreenImgAlign: '' //截图的图片默认的排版方式
|
69
|
+
|
70
|
+
//word转存配置区
|
71
|
+
,wordImageUrl:URL + "php/imageUp.php" //word转存提交地址
|
72
|
+
,wordImagePath:URL + "php/" //
|
73
|
+
//,wordImageFieldName:"upfile" //word转存表单名若此处修改,需要在后台对应文件修改对应参数
|
74
|
+
|
75
|
+
//视频上传配置区
|
76
|
+
,getMovieUrl:URL+"php/getMovie.php" //视频数据获取地址
|
77
|
+
,videoUrl:URL+"php/fileUp.php" //附件上传提交地址
|
78
|
+
,videoPath:URL + "php/" //附件修正地址,同imagePath
|
79
|
+
//,videoFieldName:"upfile" //附件提交的表单名,若此处修改,需要在后台对应文件修改对应参数
|
80
|
+
|
81
|
+
//工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的从新定义
|
82
|
+
, toolbars:[
|
83
|
+
['fullscreen', 'source', '|', 'undo', 'redo', '|',
|
84
|
+
'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|',
|
85
|
+
'rowspacingtop', 'rowspacingbottom', 'lineheight', '|',
|
86
|
+
'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|',
|
87
|
+
'directionalityltr', 'directionalityrtl', 'indent', '|',
|
88
|
+
'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|',
|
89
|
+
'link', 'unlink', 'anchor', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|',
|
90
|
+
'insertimage', 'emotion', 'scrawl', 'insertvideo', 'music', 'attachment', 'map', 'gmap', 'insertframe','insertcode', 'webapp', 'pagebreak', 'template', 'background', '|',
|
91
|
+
'horizontal', 'date', 'time', 'spechars', 'snapscreen', 'wordimage', '|',
|
92
|
+
'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|',
|
93
|
+
'print', 'preview', 'searchreplace', 'help', 'drafts']
|
94
|
+
]
|
95
|
+
//当鼠标放在工具栏上时显示的tooltip提示,留空支持自动多语言配置,否则以配置值为准
|
96
|
+
// ,labelMap:{
|
97
|
+
// 'anchor':'', 'undo':''
|
98
|
+
// }
|
99
|
+
//webAppKey
|
100
|
+
//百度应用的APIkey,每个站长必须首先去百度官网注册一个key后方能正常使用app功能
|
101
|
+
//,webAppKey:""
|
102
|
+
|
103
|
+
//语言配置项,默认是zh-cn。有需要的话也可以使用如下这样的方式来自动多语言切换,当然,前提条件是lang文件夹下存在对应的语言文件:
|
104
|
+
//lang值也可以通过自动获取 (navigator.language||navigator.browserLanguage ||navigator.userLanguage).toLowerCase()
|
105
|
+
//,lang:"zh-cn"
|
106
|
+
//,langPath:URL +"lang/"
|
107
|
+
|
108
|
+
//启用自动保存
|
109
|
+
//,enableAutoSave: true
|
110
|
+
//自动保存间隔时间, 单位ms
|
111
|
+
//,saveInterval: 500
|
112
|
+
|
113
|
+
//主题配置项,默认是default。有需要的话也可以使用如下这样的方式来自动多主题切换,当然,前提条件是themes文件夹下存在对应的主题文件:
|
114
|
+
//现有如下皮肤:default
|
115
|
+
//,theme:'default'
|
116
|
+
//,themePath:URL +"themes/"
|
117
|
+
|
118
|
+
//若实例化编辑器的页面手动修改的domain,此处需要设置为true
|
119
|
+
//,customDomain:false
|
120
|
+
|
121
|
+
//针对getAllHtml方法,会在对应的head标签中增加该编码设置。
|
122
|
+
//,charset:"utf-8"
|
123
|
+
|
124
|
+
//常用配置项目
|
125
|
+
//,isShow : true //默认显示编辑器
|
126
|
+
|
127
|
+
//,initialContent:'欢迎使用ueditor!' //初始化编辑器的内容,也可以通过textarea/script给值,看官网例子
|
128
|
+
|
129
|
+
//,initialFrameWidth:1000 //初始化编辑器宽度,默认1000
|
130
|
+
//,initialFrameHeight:320 //初始化编辑器高度,默认320
|
131
|
+
|
132
|
+
//,autoClearinitialContent:true //是否自动清除编辑器初始内容,注意:如果focus属性设置为true,这个也为真,那么编辑器一上来就会触发导致初始化的内容看不到了
|
133
|
+
|
134
|
+
//,iframeCssUrl: URL + '/themes/iframe.css' //给编辑器内部引入一个css文件
|
135
|
+
|
136
|
+
//,textarea:'editorValue' // 提交表单时,服务器获取编辑器提交内容的所用的参数,多实例时可以给容器name属性,会将name给定的值最为每个实例的键值,不用每次实例化的时候都设置这个值
|
137
|
+
|
138
|
+
//,focus:false //初始化时,是否让编辑器获得焦点true或false
|
139
|
+
|
140
|
+
//,autoClearEmptyNode : true //getContent时,是否删除空的inlineElement节点(包括嵌套的情况)
|
141
|
+
|
142
|
+
//,fullscreen : false //是否开启初始化时即全屏,默认关闭
|
143
|
+
|
144
|
+
//,readonly : false //编辑器初始化结束后,编辑区域是否是只读的,默认是false
|
145
|
+
|
146
|
+
//,zIndex : 900 //编辑器层级的基数,默认是900
|
147
|
+
|
148
|
+
//,imagePopup:true //图片操作的浮层开关,默认打开
|
149
|
+
|
150
|
+
//如果自定义,最好给p标签如下的行高,要不输入中文时,会有跳动感
|
151
|
+
//,initialStyle:'p{line-height:1em}'//编辑器层级的基数,可以用来改变字体等
|
152
|
+
|
153
|
+
//,autoSyncData:true //自动同步编辑器要提交的数据
|
154
|
+
//,emotionLocalization:false //是否开启表情本地化,默认关闭。若要开启请确保emotion文件夹下包含官网提供的images表情文件夹
|
155
|
+
|
156
|
+
//,pasteplain:false //是否默认为纯文本粘贴。false为不使用纯文本粘贴,true为使用纯文本粘贴
|
157
|
+
//纯文本粘贴模式下的过滤规则
|
158
|
+
// 'filterTxtRules' : function(){
|
159
|
+
// function transP(node){
|
160
|
+
// node.tagName = 'p';
|
161
|
+
// node.setStyle();
|
162
|
+
// }
|
163
|
+
// return {
|
164
|
+
// //直接删除及其字节点内容
|
165
|
+
// '-' : 'script style object iframe embed input select',
|
166
|
+
// 'p': {$:{}},
|
167
|
+
// 'br':{$:{}},
|
168
|
+
// 'div':{'$':{}},
|
169
|
+
// 'li':{'$':{}},
|
170
|
+
// 'caption':transP,
|
171
|
+
// 'th':transP,
|
172
|
+
// 'tr':transP,
|
173
|
+
// 'h1':transP,'h2':transP,'h3':transP,'h4':transP,'h5':transP,'h6':transP,
|
174
|
+
// 'td':function(node){
|
175
|
+
// //没有内容的td直接删掉
|
176
|
+
// var txt = !!node.innerText();
|
177
|
+
// if(txt){
|
178
|
+
// node.parentNode.insertAfter(UE.uNode.createText(' '),node);
|
179
|
+
// }
|
180
|
+
// node.parentNode.removeChild(node,node.innerText())
|
181
|
+
// }
|
182
|
+
// }
|
183
|
+
// }()
|
184
|
+
//,allHtmlEnabled:false //提交到后台的数据是否包含整个html字符串
|
185
|
+
//iframeUrlMap
|
186
|
+
//dialog内容的路径 ~会被替换成URL,垓属性一旦打开,将覆盖所有的dialog的默认路径
|
187
|
+
//,iframeUrlMap:{
|
188
|
+
// 'anchor':'~/dialogs/anchor/anchor.html',
|
189
|
+
// }
|
190
|
+
|
191
|
+
//insertorderedlist
|
192
|
+
//有序列表的下拉配置,值留空时支持多语言自动识别,若配置值,则以此值为准
|
193
|
+
// ,'insertorderedlist':{
|
194
|
+
// //自定的样式
|
195
|
+
// 'num':'1,2,3...',
|
196
|
+
// 'num1':'1),2),3)...',
|
197
|
+
// 'num2':'(1),(2),(3)...',
|
198
|
+
// 'cn':'一,二,三....',
|
199
|
+
// 'cn1':'一),二),三)....',
|
200
|
+
// 'cn2':'(一),(二),(三)....',
|
201
|
+
// //系统自带
|
202
|
+
// 'decimal' : '' , //'1,2,3...'
|
203
|
+
// 'lower-alpha' : '' , // 'a,b,c...'
|
204
|
+
// 'lower-roman' : '' , //'i,ii,iii...'
|
205
|
+
// 'upper-alpha' : '' , lang //'A,B,C'
|
206
|
+
// 'upper-roman' : '' //'I,II,III...'
|
207
|
+
// }
|
208
|
+
|
209
|
+
//insertunorderedlist
|
210
|
+
//无序列表的下拉配置,值留空时支持多语言自动识别,若配置值,则以此值为准
|
211
|
+
//,insertunorderedlist : {
|
212
|
+
// //自定的样式
|
213
|
+
// 'dash' :'— 破折号',
|
214
|
+
// 'dot':' 。 小圆圈'
|
215
|
+
// //系统自带
|
216
|
+
// 'circle' : '', // '○ 小圆圈'
|
217
|
+
// 'disc' : '', // '● 小圆点'
|
218
|
+
// 'square' : '' //'■ 小方块'
|
219
|
+
//}
|
220
|
+
// ,listDefaultPaddingLeft : '30'//默认的左边缩进的基数倍
|
221
|
+
// ,listiconpath : 'http://bs.baidu.com/listicon/'//自定义标号的路径
|
222
|
+
// ,maxListLevel : 3 //限制可以tab的级数-1不限制
|
223
|
+
//fontfamily
|
224
|
+
//字体设置 label留空支持多语言自动切换,若配置,则以配置值为准
|
225
|
+
// ,'fontfamily':[
|
226
|
+
// { label:'',name:'songti',val:'宋体,SimSun'},
|
227
|
+
// { label:'',name:'kaiti',val:'楷体,楷体_GB2312, SimKai'},
|
228
|
+
// { label:'',name:'yahei',val:'微软雅黑,Microsoft YaHei'},
|
229
|
+
// { label:'',name:'heiti',val:'黑体, SimHei'},
|
230
|
+
// { label:'',name:'lishu',val:'隶书, SimLi'},
|
231
|
+
// { label:'',name:'andaleMono',val:'andale mono'},
|
232
|
+
// { label:'',name:'arial',val:'arial, helvetica,sans-serif'},
|
233
|
+
// { label:'',name:'arialBlack',val:'arial black,avant garde'},
|
234
|
+
// { label:'',name:'comicSansMs',val:'comic sans ms'},
|
235
|
+
// { label:'',name:'impact',val:'impact,chicago'},
|
236
|
+
// { label:'',name:'timesNewRoman',val:'times new roman'}
|
237
|
+
// ]
|
238
|
+
|
239
|
+
//fontsize
|
240
|
+
//字号
|
241
|
+
//,'fontsize':[10, 11, 12, 14, 16, 18, 20, 24, 36]
|
242
|
+
|
243
|
+
//paragraph
|
244
|
+
//段落格式 值留空时支持多语言自动识别,若配置,则以配置值为准
|
245
|
+
//,'paragraph':{'p':'', 'h1':'', 'h2':'', 'h3':'', 'h4':'', 'h5':'', 'h6':''}
|
246
|
+
|
247
|
+
//rowspacingtop
|
248
|
+
//段间距 值和显示的名字相同
|
249
|
+
//,'rowspacingtop':['5', '10', '15', '20', '25']
|
250
|
+
|
251
|
+
//rowspacingBottom
|
252
|
+
//段间距 值和显示的名字相同
|
253
|
+
//,'rowspacingbottom':['5', '10', '15', '20', '25']
|
254
|
+
|
255
|
+
//lineheight
|
256
|
+
//行内间距 值和显示的名字相同
|
257
|
+
//,'lineheight':['1', '1.5','1.75','2', '3', '4', '5']
|
258
|
+
|
259
|
+
//customstyle
|
260
|
+
//自定义样式,不支持国际化,此处配置值即可最后显示值
|
261
|
+
//block的元素是依据设置段落的逻辑设置的,inline的元素依据BIU的逻辑设置
|
262
|
+
//尽量使用一些常用的标签
|
263
|
+
//参数说明
|
264
|
+
//tag 使用的标签名字
|
265
|
+
//label 显示的名字也是用来标识不同类型的标识符,注意这个值每个要不同,
|
266
|
+
//style 添加的样式
|
267
|
+
//每一个对象就是一个自定义的样式
|
268
|
+
//,'customstyle':[
|
269
|
+
// {tag:'h1', name:'tc', label:'', style:'border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;'},
|
270
|
+
// {tag:'h1', name:'tl',label:'', style:'border-bottom:#ccc 2px solid;padding:0 4px 0 0;margin:0 0 10px 0;'},
|
271
|
+
// {tag:'span',name:'im', label:'', style:'font-style:italic;font-weight:bold'},
|
272
|
+
// {tag:'span',name:'hi', label:'', style:'font-style:italic;font-weight:bold;color:rgb(51, 153, 204)'}
|
273
|
+
// ]
|
274
|
+
|
275
|
+
//右键菜单的内容,可以参考plugins/contextmenu.js里边的默认菜单的例子,label留空支持国际化,否则以此配置为准
|
276
|
+
// ,contextMenu:[
|
277
|
+
// {
|
278
|
+
// label:'', //显示的名称
|
279
|
+
// cmdName:'selectall',//执行的command命令,当点击这个右键菜单时
|
280
|
+
// //exec可选,有了exec就会在点击时执行这个function,优先级高于cmdName
|
281
|
+
// exec:function () {
|
282
|
+
// //this是当前编辑器的实例
|
283
|
+
// //this.ui._dialogs['inserttableDialog'].open();
|
284
|
+
// }
|
285
|
+
// }
|
286
|
+
// ]
|
287
|
+
|
288
|
+
//快捷菜单
|
289
|
+
//,shortcutMenu:["fontfamily", "fontsize", "bold", "italic", "underline", "forecolor", "backcolor", "insertorderedlist", "insertunorderedlist"]
|
290
|
+
|
291
|
+
//
|
292
|
+
//wordCount
|
293
|
+
//,wordCount:true //是否开启字数统计
|
294
|
+
//,maximumWords:10000 //允许的最大字符数
|
295
|
+
//字数统计提示,{#count}代表当前字数,{#leave}代表还可以输入多少字符数,留空支持多语言自动切换,否则按此配置显示
|
296
|
+
//,wordCountMsg:'' //当前已输入 {#count} 个字符,您还可以输入{#leave} 个字符
|
297
|
+
//超出字数限制提示 留空支持多语言自动切换,否则按此配置显示
|
298
|
+
//,wordOverFlowMsg:'' //<span style="color:red;">你输入的字符个数已经超出最大允许值,服务器可能会拒绝保存!</span>
|
299
|
+
|
300
|
+
//tab
|
301
|
+
//点击tab键时移动的距离,tabSize倍数,tabNode什么字符做为单位
|
302
|
+
//,tabSize:4
|
303
|
+
//,tabNode:' '
|
304
|
+
|
305
|
+
//elementPathEnabled
|
306
|
+
//是否启用元素路径,默认是显示
|
307
|
+
//,elementPathEnabled : true
|
308
|
+
|
309
|
+
//removeFormat
|
310
|
+
//清除格式时可以删除的标签和属性
|
311
|
+
//removeForamtTags标签
|
312
|
+
//,removeFormatTags:'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var'
|
313
|
+
//removeFormatAttributes属性
|
314
|
+
//,removeFormatAttributes:'class,style,lang,width,height,align,hspace,valign'
|
315
|
+
|
316
|
+
//undo
|
317
|
+
//可以最多回退的次数,默认20
|
318
|
+
//,maxUndoCount:20
|
319
|
+
//当输入的字符数超过该值时,保存一次现场
|
320
|
+
//,maxInputCount:1
|
321
|
+
|
322
|
+
//autoHeightEnabled
|
323
|
+
// 是否自动长高,默认true
|
324
|
+
//,autoHeightEnabled:true
|
325
|
+
|
326
|
+
//scaleEnabled
|
327
|
+
//是否可以拉伸长高,默认true(当开启时,自动长高失效)
|
328
|
+
//,scaleEnabled:false
|
329
|
+
//,minFrameWidth:800 //编辑器拖动时最小宽度,默认800
|
330
|
+
//,minFrameHeight:220 //编辑器拖动时最小高度,默认220
|
331
|
+
|
332
|
+
//tableDragable
|
333
|
+
//表格是否可以拖拽
|
334
|
+
//,tableDragable: true
|
335
|
+
|
336
|
+
//autoFloatEnabled
|
337
|
+
//是否保持toolbar的位置不动,默认true
|
338
|
+
//,autoFloatEnabled:true
|
339
|
+
//浮动时工具栏距离浏览器顶部的高度,用于某些具有固定头部的页面
|
340
|
+
//,topOffset:30
|
341
|
+
//编辑器底部距离工具栏高度(如果参数大于等于编辑器高度,则设置无效)
|
342
|
+
//,toolbarTopOffset:400
|
343
|
+
|
344
|
+
//indentValue
|
345
|
+
//首行缩进距离,默认是2em
|
346
|
+
//,indentValue:'2em'
|
347
|
+
|
348
|
+
//pageBreakTag
|
349
|
+
//分页标识符,默认是_ueditor_page_break_tag_
|
350
|
+
//,pageBreakTag:'_ueditor_page_break_tag_'
|
351
|
+
|
352
|
+
//sourceEditor
|
353
|
+
//源码的查看方式,codemirror 是代码高亮,textarea是文本框,默认是codemirror
|
354
|
+
//注意默认codemirror只能在ie8+和非ie中使用
|
355
|
+
//,sourceEditor:"codemirror"
|
356
|
+
//如果sourceEditor是codemirror,还用配置一下两个参数
|
357
|
+
//codeMirrorJsUrl js加载的路径,默认是 URL + "third-party/codemirror/codemirror.js"
|
358
|
+
//,codeMirrorJsUrl:URL + "third-party/codemirror/codemirror.js"
|
359
|
+
//codeMirrorCssUrl css加载的路径,默认是 URL + "third-party/codemirror/codemirror.css"
|
360
|
+
//,codeMirrorCssUrl:URL + "third-party/codemirror/codemirror.css"
|
361
|
+
//编辑器初始化完成后是否进入源码模式,默认为否。
|
362
|
+
//,sourceEditorFirst:false
|
363
|
+
|
364
|
+
//autotypeset
|
365
|
+
// //自动排版参数
|
366
|
+
// ,autotypeset:{
|
367
|
+
// mergeEmptyline : true, //合并空行
|
368
|
+
// removeClass : true, //去掉冗余的class
|
369
|
+
// removeEmptyline : false, //去掉空行
|
370
|
+
// textAlign : "left" , //段落的排版方式,可以是 left,right,center,justify 去掉这个属性表示不执行排版
|
371
|
+
// imageBlockLine : 'center', //图片的浮动方式,独占一行剧中,左右浮动,默认: center,left,right,none 去掉这个属性表示不执行排版
|
372
|
+
// pasteFilter : false, //根据规则过滤没事粘贴进来的内容
|
373
|
+
// clearFontSize : false, //去掉所有的内嵌字号,使用编辑器默认的字号
|
374
|
+
// clearFontFamily : false, //去掉所有的内嵌字体,使用编辑器默认的字体
|
375
|
+
// removeEmptyNode : false , // 去掉空节点
|
376
|
+
// //可以去掉的标签
|
377
|
+
// removeTagNames : {标签名字:1},
|
378
|
+
// indent : false, // 行首缩进
|
379
|
+
// indentValue : '2em' //行首缩进的大小
|
380
|
+
// },
|
381
|
+
//填写过滤规则
|
382
|
+
//,filterRules : {}
|
383
|
+
//,autoTransWordToList:false //禁止word中粘贴进来的列表自动变成列表标签
|
384
|
+
//,disabledTableInTable:true //禁止表格嵌套
|
385
|
+
};
|
386
|
+
|
387
|
+
function getUEBasePath ( docUrl, confUrl ) {
|
388
|
+
|
389
|
+
return getBasePath( docUrl || self.document.URL || self.location.href, confUrl || getConfigFilePath() );
|
390
|
+
|
391
|
+
}
|
392
|
+
|
393
|
+
function getConfigFilePath () {
|
394
|
+
|
395
|
+
var configPath = document.getElementsByTagName('script');
|
396
|
+
|
397
|
+
return configPath[ configPath.length -1 ].src;
|
398
|
+
|
399
|
+
}
|
400
|
+
|
401
|
+
function getBasePath ( docUrl, confUrl ) {
|
402
|
+
|
403
|
+
var basePath = confUrl;
|
404
|
+
|
405
|
+
|
406
|
+
if(/^(\/|\\\\)/.test(confUrl)){
|
407
|
+
|
408
|
+
basePath = /^.+?\w(\/|\\\\)/.exec(docUrl)[0] + confUrl.replace(/^(\/|\\\\)/,'');
|
409
|
+
|
410
|
+
}else if ( !/^[a-z]+:/i.test( confUrl ) ) {
|
411
|
+
|
412
|
+
docUrl = docUrl.split( "#" )[0].split( "?" )[0].replace( /[^\\\/]+$/, '' );
|
413
|
+
|
414
|
+
basePath = docUrl + "" + confUrl;
|
415
|
+
|
416
|
+
}
|
417
|
+
|
418
|
+
return optimizationPath( basePath );
|
419
|
+
|
420
|
+
}
|
421
|
+
|
422
|
+
function optimizationPath ( path ) {
|
423
|
+
|
424
|
+
var protocol = /^[a-z]+:\/\//.exec( path )[ 0 ],
|
425
|
+
tmp = null,
|
426
|
+
res = [];
|
427
|
+
|
428
|
+
path = path.replace( protocol, "" ).split( "?" )[0].split( "#" )[0];
|
429
|
+
|
430
|
+
path = path.replace( /\\/g, '/').split( /\// );
|
431
|
+
|
432
|
+
path[ path.length - 1 ] = "";
|
433
|
+
|
434
|
+
while ( path.length ) {
|
435
|
+
|
436
|
+
if ( ( tmp = path.shift() ) === ".." ) {
|
437
|
+
res.pop();
|
438
|
+
} else if ( tmp !== "." ) {
|
439
|
+
res.push( tmp );
|
440
|
+
}
|
441
|
+
|
442
|
+
}
|
443
|
+
|
444
|
+
return protocol + res.join( "/" );
|
445
|
+
|
446
|
+
}
|
447
|
+
|
448
|
+
window.UE = {
|
449
|
+
getUEBasePath: getUEBasePath
|
450
|
+
};
|
451
|
+
|
452
|
+
})();
|
@@ -0,0 +1,1015 @@
|
|
1
|
+
/*!
|
2
|
+
* UEditor
|
3
|
+
* version: 1.3.6
|
4
|
+
* build: Wed Dec 25 2013 12:38:33 GMT+0800 (中国标准时间)
|
5
|
+
*/
|
6
|
+
|
7
|
+
(function(){
|
8
|
+
|
9
|
+
(function(){
|
10
|
+
UE = window.UE || {};
|
11
|
+
var isIE = !!window.ActiveXObject;
|
12
|
+
//定义utils工具
|
13
|
+
var utils = {
|
14
|
+
removeLastbs : function(url){
|
15
|
+
return url.replace(/\/$/,'')
|
16
|
+
},
|
17
|
+
extend : function(t,s){
|
18
|
+
var a = arguments,
|
19
|
+
notCover = this.isBoolean(a[a.length - 1]) ? a[a.length - 1] : false,
|
20
|
+
len = this.isBoolean(a[a.length - 1]) ? a.length - 1 : a.length;
|
21
|
+
for (var i = 1; i < len; i++) {
|
22
|
+
var x = a[i];
|
23
|
+
for (var k in x) {
|
24
|
+
if (!notCover || !t.hasOwnProperty(k)) {
|
25
|
+
t[k] = x[k];
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
return t;
|
30
|
+
},
|
31
|
+
isIE : isIE,
|
32
|
+
cssRule : isIE ? function(key,style,doc){
|
33
|
+
var indexList,index;
|
34
|
+
doc = doc || document;
|
35
|
+
if(doc.indexList){
|
36
|
+
indexList = doc.indexList;
|
37
|
+
}else{
|
38
|
+
indexList = doc.indexList = {};
|
39
|
+
}
|
40
|
+
var sheetStyle;
|
41
|
+
if(!indexList[key]){
|
42
|
+
if(style === undefined){
|
43
|
+
return ''
|
44
|
+
}
|
45
|
+
sheetStyle = doc.createStyleSheet('',index = doc.styleSheets.length);
|
46
|
+
indexList[key] = index;
|
47
|
+
}else{
|
48
|
+
sheetStyle = doc.styleSheets[indexList[key]];
|
49
|
+
}
|
50
|
+
if(style === undefined){
|
51
|
+
return sheetStyle.cssText
|
52
|
+
}
|
53
|
+
sheetStyle.cssText = sheetStyle.cssText + '\n' + (style || '')
|
54
|
+
} : function(key,style,doc){
|
55
|
+
doc = doc || document;
|
56
|
+
var head = doc.getElementsByTagName('head')[0],node;
|
57
|
+
if(!(node = doc.getElementById(key))){
|
58
|
+
if(style === undefined){
|
59
|
+
return ''
|
60
|
+
}
|
61
|
+
node = doc.createElement('style');
|
62
|
+
node.id = key;
|
63
|
+
head.appendChild(node)
|
64
|
+
}
|
65
|
+
if(style === undefined){
|
66
|
+
return node.innerHTML
|
67
|
+
}
|
68
|
+
if(style !== ''){
|
69
|
+
node.innerHTML = node.innerHTML + '\n' + style;
|
70
|
+
}else{
|
71
|
+
head.removeChild(node)
|
72
|
+
}
|
73
|
+
},
|
74
|
+
domReady : function (onready) {
|
75
|
+
var doc = window.document;
|
76
|
+
if (doc.readyState === "complete") {
|
77
|
+
onready();
|
78
|
+
}else{
|
79
|
+
if (isIE) {
|
80
|
+
(function () {
|
81
|
+
if (doc.isReady) return;
|
82
|
+
try {
|
83
|
+
doc.documentElement.doScroll("left");
|
84
|
+
} catch (error) {
|
85
|
+
setTimeout(arguments.callee, 0);
|
86
|
+
return;
|
87
|
+
}
|
88
|
+
onready();
|
89
|
+
})();
|
90
|
+
window.attachEvent('onload', function(){
|
91
|
+
onready()
|
92
|
+
});
|
93
|
+
} else {
|
94
|
+
doc.addEventListener("DOMContentLoaded", function () {
|
95
|
+
doc.removeEventListener("DOMContentLoaded", arguments.callee, false);
|
96
|
+
onready();
|
97
|
+
}, false);
|
98
|
+
window.addEventListener('load', function(){onready()}, false);
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
},
|
103
|
+
each : function(obj, iterator, context) {
|
104
|
+
if (obj == null) return;
|
105
|
+
if (obj.length === +obj.length) {
|
106
|
+
for (var i = 0, l = obj.length; i < l; i++) {
|
107
|
+
if(iterator.call(context, obj[i], i, obj) === false)
|
108
|
+
return false;
|
109
|
+
}
|
110
|
+
} else {
|
111
|
+
for (var key in obj) {
|
112
|
+
if (obj.hasOwnProperty(key)) {
|
113
|
+
if(iterator.call(context, obj[key], key, obj) === false)
|
114
|
+
return false;
|
115
|
+
}
|
116
|
+
}
|
117
|
+
}
|
118
|
+
},
|
119
|
+
inArray : function(arr,item){
|
120
|
+
var index = -1;
|
121
|
+
this.each(arr,function(v,i){
|
122
|
+
if(v === item){
|
123
|
+
index = i;
|
124
|
+
return false;
|
125
|
+
}
|
126
|
+
});
|
127
|
+
return index;
|
128
|
+
},
|
129
|
+
pushItem : function(arr,item){
|
130
|
+
if(this.inArray(arr,item)==-1){
|
131
|
+
arr.push(item)
|
132
|
+
}
|
133
|
+
},
|
134
|
+
trim: function (str) {
|
135
|
+
return str.replace(/(^[ \t\n\r]+)|([ \t\n\r]+$)/g, '');
|
136
|
+
},
|
137
|
+
indexOf: function (array, item, start) {
|
138
|
+
var index = -1;
|
139
|
+
start = this.isNumber(start) ? start : 0;
|
140
|
+
this.each(array, function (v, i) {
|
141
|
+
if (i >= start && v === item) {
|
142
|
+
index = i;
|
143
|
+
return false;
|
144
|
+
}
|
145
|
+
});
|
146
|
+
return index;
|
147
|
+
},
|
148
|
+
hasClass: function (element, className) {
|
149
|
+
className = className.replace(/(^[ ]+)|([ ]+$)/g, '').replace(/[ ]{2,}/g, ' ').split(' ');
|
150
|
+
for (var i = 0, ci, cls = element.className; ci = className[i++];) {
|
151
|
+
if (!new RegExp('\\b' + ci + '\\b', 'i').test(cls)) {
|
152
|
+
return false;
|
153
|
+
}
|
154
|
+
}
|
155
|
+
return i - 1 == className.length;
|
156
|
+
},
|
157
|
+
addClass:function (elm, classNames) {
|
158
|
+
if(!elm)return;
|
159
|
+
classNames = this.trim(classNames).replace(/[ ]{2,}/g,' ').split(' ');
|
160
|
+
for(var i = 0,ci,cls = elm.className;ci=classNames[i++];){
|
161
|
+
if(!new RegExp('\\b' + ci + '\\b').test(cls)){
|
162
|
+
cls += ' ' + ci;
|
163
|
+
}
|
164
|
+
}
|
165
|
+
elm.className = utils.trim(cls);
|
166
|
+
},
|
167
|
+
removeClass:function (elm, classNames) {
|
168
|
+
classNames = this.isArray(classNames) ? classNames :
|
169
|
+
this.trim(classNames).replace(/[ ]{2,}/g,' ').split(' ');
|
170
|
+
for(var i = 0,ci,cls = elm.className;ci=classNames[i++];){
|
171
|
+
cls = cls.replace(new RegExp('\\b' + ci + '\\b'),'')
|
172
|
+
}
|
173
|
+
cls = this.trim(cls).replace(/[ ]{2,}/g,' ');
|
174
|
+
elm.className = cls;
|
175
|
+
!cls && elm.removeAttribute('className');
|
176
|
+
},
|
177
|
+
on: function (element, type, handler) {
|
178
|
+
var types = this.isArray(type) ? type : type.split(/\s+/),
|
179
|
+
k = types.length;
|
180
|
+
if (k) while (k--) {
|
181
|
+
type = types[k];
|
182
|
+
if (element.addEventListener) {
|
183
|
+
element.addEventListener(type, handler, false);
|
184
|
+
} else {
|
185
|
+
if (!handler._d) {
|
186
|
+
handler._d = {
|
187
|
+
els : []
|
188
|
+
};
|
189
|
+
}
|
190
|
+
var key = type + handler.toString(),index = utils.indexOf(handler._d.els,element);
|
191
|
+
if (!handler._d[key] || index == -1) {
|
192
|
+
if(index == -1){
|
193
|
+
handler._d.els.push(element);
|
194
|
+
}
|
195
|
+
if(!handler._d[key]){
|
196
|
+
handler._d[key] = function (evt) {
|
197
|
+
return handler.call(evt.srcElement, evt || window.event);
|
198
|
+
};
|
199
|
+
}
|
200
|
+
|
201
|
+
|
202
|
+
element.attachEvent('on' + type, handler._d[key]);
|
203
|
+
}
|
204
|
+
}
|
205
|
+
}
|
206
|
+
element = null;
|
207
|
+
},
|
208
|
+
off: function (element, type, handler) {
|
209
|
+
var types = this.isArray(type) ? type : type.split(/\s+/),
|
210
|
+
k = types.length;
|
211
|
+
if (k) while (k--) {
|
212
|
+
type = types[k];
|
213
|
+
if (element.removeEventListener) {
|
214
|
+
element.removeEventListener(type, handler, false);
|
215
|
+
} else {
|
216
|
+
var key = type + handler.toString();
|
217
|
+
try{
|
218
|
+
element.detachEvent('on' + type, handler._d ? handler._d[key] : handler);
|
219
|
+
}catch(e){}
|
220
|
+
if (handler._d && handler._d[key]) {
|
221
|
+
var index = utils.indexOf(handler._d.els,element);
|
222
|
+
if(index!=-1){
|
223
|
+
handler._d.els.splice(index,1);
|
224
|
+
}
|
225
|
+
handler._d.els.length == 0 && delete handler._d[key];
|
226
|
+
}
|
227
|
+
}
|
228
|
+
}
|
229
|
+
},
|
230
|
+
loadFile : function () {
|
231
|
+
var tmpList = [];
|
232
|
+
function getItem(doc,obj){
|
233
|
+
try{
|
234
|
+
for(var i= 0,ci;ci=tmpList[i++];){
|
235
|
+
if(ci.doc === doc && ci.url == (obj.src || obj.href)){
|
236
|
+
return ci;
|
237
|
+
}
|
238
|
+
}
|
239
|
+
}catch(e){
|
240
|
+
return null;
|
241
|
+
}
|
242
|
+
|
243
|
+
}
|
244
|
+
return function (doc, obj, fn) {
|
245
|
+
var item = getItem(doc,obj);
|
246
|
+
if (item) {
|
247
|
+
if(item.ready){
|
248
|
+
fn && fn();
|
249
|
+
}else{
|
250
|
+
item.funs.push(fn)
|
251
|
+
}
|
252
|
+
return;
|
253
|
+
}
|
254
|
+
tmpList.push({
|
255
|
+
doc:doc,
|
256
|
+
url:obj.src||obj.href,
|
257
|
+
funs:[fn]
|
258
|
+
});
|
259
|
+
if (!doc.body) {
|
260
|
+
var html = [];
|
261
|
+
for(var p in obj){
|
262
|
+
if(p == 'tag')continue;
|
263
|
+
html.push(p + '="' + obj[p] + '"')
|
264
|
+
}
|
265
|
+
doc.write('<' + obj.tag + ' ' + html.join(' ') + ' ></'+obj.tag+'>');
|
266
|
+
return;
|
267
|
+
}
|
268
|
+
if (obj.id && doc.getElementById(obj.id)) {
|
269
|
+
return;
|
270
|
+
}
|
271
|
+
var element = doc.createElement(obj.tag);
|
272
|
+
delete obj.tag;
|
273
|
+
for (var p in obj) {
|
274
|
+
element.setAttribute(p, obj[p]);
|
275
|
+
}
|
276
|
+
element.onload = element.onreadystatechange = function () {
|
277
|
+
if (!this.readyState || /loaded|complete/.test(this.readyState)) {
|
278
|
+
item = getItem(doc,obj);
|
279
|
+
if (item.funs.length > 0) {
|
280
|
+
item.ready = 1;
|
281
|
+
for (var fi; fi = item.funs.pop();) {
|
282
|
+
fi();
|
283
|
+
}
|
284
|
+
}
|
285
|
+
element.onload = element.onreadystatechange = null;
|
286
|
+
}
|
287
|
+
};
|
288
|
+
element.onerror = function(){
|
289
|
+
throw Error('The load '+(obj.href||obj.src)+' fails,check the url')
|
290
|
+
};
|
291
|
+
doc.getElementsByTagName("head")[0].appendChild(element);
|
292
|
+
}
|
293
|
+
}()
|
294
|
+
};
|
295
|
+
utils.each(['String', 'Function', 'Array', 'Number', 'RegExp', 'Object','Boolean'], function (v) {
|
296
|
+
utils['is' + v] = function (obj) {
|
297
|
+
return Object.prototype.toString.apply(obj) == '[object ' + v + ']';
|
298
|
+
}
|
299
|
+
});
|
300
|
+
var parselist = {};
|
301
|
+
UE.parse = {
|
302
|
+
register : function(parseName,fn){
|
303
|
+
parselist[parseName] = fn;
|
304
|
+
},
|
305
|
+
load : function(opt){
|
306
|
+
utils.each(parselist,function(v){
|
307
|
+
v.call(opt,utils);
|
308
|
+
})
|
309
|
+
}
|
310
|
+
};
|
311
|
+
uParse = function(selector,opt){
|
312
|
+
utils.domReady(function(){
|
313
|
+
var contents;
|
314
|
+
if(document.querySelectorAll){
|
315
|
+
contents = document.querySelectorAll(selector)
|
316
|
+
}else{
|
317
|
+
if(/^#/.test(selector)){
|
318
|
+
contents = [document.getElementById(selector.replace(/^#/,''))]
|
319
|
+
}else if(/^\./.test(selector)){
|
320
|
+
var contents = [];
|
321
|
+
utils.each(document.getElementsByTagName('*'),function(node){
|
322
|
+
if(node.className && new RegExp('\\b' + selector.replace(/^\./,'') + '\\b','i').test(node.className)){
|
323
|
+
contents.push(node)
|
324
|
+
}
|
325
|
+
})
|
326
|
+
}else{
|
327
|
+
contents = document.getElementsByTagName(selector)
|
328
|
+
}
|
329
|
+
}
|
330
|
+
utils.each(contents,function(v){
|
331
|
+
UE.parse.load(utils.extend({root:v,selector:selector},opt))
|
332
|
+
})
|
333
|
+
})
|
334
|
+
}
|
335
|
+
})();
|
336
|
+
|
337
|
+
UE.parse.register('insertcode',function(utils){
|
338
|
+
var pres = this.root.getElementsByTagName('pre');
|
339
|
+
if(pres.length){
|
340
|
+
if(typeof XRegExp == "undefined"){
|
341
|
+
var jsurl,cssurl;
|
342
|
+
if(this.rootPath !== undefined){
|
343
|
+
jsurl = utils.removeLastbs(this.rootPath) + '/third-party/SyntaxHighlighter/shCore.js';
|
344
|
+
cssurl = utils.removeLastbs(this.rootPath) + '/third-party/SyntaxHighlighter/shCoreDefault.css';
|
345
|
+
}else{
|
346
|
+
jsurl = this.highlightJsUrl;
|
347
|
+
cssurl = this.highlightCssUrl;
|
348
|
+
}
|
349
|
+
utils.loadFile(document,{
|
350
|
+
id : "syntaxhighlighter_css",
|
351
|
+
tag : "link",
|
352
|
+
rel : "stylesheet",
|
353
|
+
type : "text/css",
|
354
|
+
href : cssurl
|
355
|
+
});
|
356
|
+
utils.loadFile(document,{
|
357
|
+
id : "syntaxhighlighter_js",
|
358
|
+
src : jsurl,
|
359
|
+
tag : "script",
|
360
|
+
type : "text/javascript",
|
361
|
+
defer : "defer"
|
362
|
+
},function(){
|
363
|
+
utils.each(pres,function(pi){
|
364
|
+
if(pi && /brush/i.test(pi.className)){
|
365
|
+
SyntaxHighlighter.highlight(pi);
|
366
|
+
}
|
367
|
+
});
|
368
|
+
});
|
369
|
+
}
|
370
|
+
}
|
371
|
+
|
372
|
+
});
|
373
|
+
UE.parse.register('table', function (utils) {
|
374
|
+
var me = this,
|
375
|
+
root = this.root,
|
376
|
+
tables = root.getElementsByTagName('table');
|
377
|
+
if (tables.length) {
|
378
|
+
var selector = this.selector;
|
379
|
+
//追加默认的表格样式
|
380
|
+
utils.cssRule('table',
|
381
|
+
selector + ' table.noBorderTable td,' +
|
382
|
+
selector + ' table.noBorderTable th,' +
|
383
|
+
selector + ' table.noBorderTable caption{border:1px dashed #ddd !important}' +
|
384
|
+
selector + ' table.sortEnabled tr.firstRow th,' + selector + ' table.sortEnabled tr.firstRow td{padding-right:20px; background-repeat: no-repeat;' +
|
385
|
+
'background-position: center right; background-image:url(' + this.rootPath + 'themes/default/images/sortable.png);}' +
|
386
|
+
selector + ' table.sortEnabled tr.firstRow th:hover,' + selector + ' table.sortEnabled tr.firstRow td:hover{background-color: #EEE;}' +
|
387
|
+
selector + ' table{margin-bottom:10px;border-collapse:collapse;display:table;}' +
|
388
|
+
selector + ' td,' + selector + ' th{ background:white; padding: 5px 10px;border: 1px solid #DDD;}' +
|
389
|
+
selector + ' caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}' +
|
390
|
+
selector + ' th{border-top:1px solid #BBB;background:#F7F7F7;}' +
|
391
|
+
selector + ' table tr.firstRow th{border-top:2px solid #BBB;background:#F7F7F7;}' +
|
392
|
+
selector + ' tr.ue-table-interlace-color-single td{ background: #fcfcfc; }' +
|
393
|
+
selector + ' tr.ue-table-interlace-color-double td{ background: #f7faff; }' +
|
394
|
+
selector + ' td p{margin:0;padding:0;}',
|
395
|
+
document);
|
396
|
+
//填充空的单元格
|
397
|
+
|
398
|
+
utils.each('td th caption'.split(' '), function (tag) {
|
399
|
+
var cells = root.getElementsByTagName(tag);
|
400
|
+
cells.length && utils.each(cells, function (node) {
|
401
|
+
if (!node.firstChild) {
|
402
|
+
node.innerHTML = ' ';
|
403
|
+
|
404
|
+
}
|
405
|
+
})
|
406
|
+
});
|
407
|
+
|
408
|
+
//表格可排序
|
409
|
+
var tables = root.getElementsByTagName('table');
|
410
|
+
utils.each(tables, function (table) {
|
411
|
+
if (/\bsortEnabled\b/.test(table.className)) {
|
412
|
+
utils.on(table, 'click', function(e){
|
413
|
+
var target = e.target || e.srcElement,
|
414
|
+
cell = findParentByTagName(target, ['td', 'th']);
|
415
|
+
var table = findParentByTagName(target, 'table'),
|
416
|
+
colIndex = utils.indexOf(table.rows[0].cells, cell),
|
417
|
+
sortType = table.getAttribute('data-sort-type');
|
418
|
+
if(colIndex != -1) {
|
419
|
+
sortTable(table, colIndex, me.tableSortCompareFn || sortType);
|
420
|
+
updateTable(table);
|
421
|
+
}
|
422
|
+
});
|
423
|
+
}
|
424
|
+
});
|
425
|
+
|
426
|
+
//按照标签名查找父节点
|
427
|
+
function findParentByTagName(target, tagNames) {
|
428
|
+
var i, current = target;
|
429
|
+
tagNames = utils.isArray(tagNames) ? tagNames:[tagNames];
|
430
|
+
while(current){
|
431
|
+
for(i = 0;i < tagNames.length; i++) {
|
432
|
+
if(current.tagName == tagNames[i].toUpperCase()) return current;
|
433
|
+
}
|
434
|
+
current = current.parentNode;
|
435
|
+
}
|
436
|
+
return null;
|
437
|
+
}
|
438
|
+
//表格排序
|
439
|
+
function sortTable(table, sortByCellIndex, compareFn) {
|
440
|
+
var rows = table.rows,
|
441
|
+
trArray = [],
|
442
|
+
flag = rows[0].cells[0].tagName === "TH",
|
443
|
+
lastRowIndex = 0;
|
444
|
+
|
445
|
+
for (var i = 0,len = rows.length; i < len; i++) {
|
446
|
+
trArray[i] = rows[i];
|
447
|
+
}
|
448
|
+
|
449
|
+
var Fn = {
|
450
|
+
'reversecurrent': function(td1,td2){
|
451
|
+
return 1;
|
452
|
+
},
|
453
|
+
'orderbyasc': function(td1,td2){
|
454
|
+
var value1 = td1.innerText||td1.textContent,
|
455
|
+
value2 = td2.innerText||td2.textContent;
|
456
|
+
return value1.localeCompare(value2);
|
457
|
+
},
|
458
|
+
'reversebyasc': function(td1,td2){
|
459
|
+
var value1 = td1.innerHTML,
|
460
|
+
value2 = td2.innerHTML;
|
461
|
+
return value2.localeCompare(value1);
|
462
|
+
},
|
463
|
+
'orderbynum': function(td1,td2){
|
464
|
+
var value1 = td1[utils.isIE ? 'innerText':'textContent'].match(/\d+/),
|
465
|
+
value2 = td2[utils.isIE ? 'innerText':'textContent'].match(/\d+/);
|
466
|
+
if(value1) value1 = +value1[0];
|
467
|
+
if(value2) value2 = +value2[0];
|
468
|
+
return (value1||0) - (value2||0);
|
469
|
+
},
|
470
|
+
'reversebynum': function(td1,td2){
|
471
|
+
var value1 = td1[utils.isIE ? 'innerText':'textContent'].match(/\d+/),
|
472
|
+
value2 = td2[utils.isIE ? 'innerText':'textContent'].match(/\d+/);
|
473
|
+
if(value1) value1 = +value1[0];
|
474
|
+
if(value2) value2 = +value2[0];
|
475
|
+
return (value2||0) - (value1||0);
|
476
|
+
}
|
477
|
+
};
|
478
|
+
|
479
|
+
//对表格设置排序的标记data-sort-type
|
480
|
+
table.setAttribute('data-sort-type', compareFn && typeof compareFn === "string" && Fn[compareFn] ? compareFn:'');
|
481
|
+
|
482
|
+
//th不参与排序
|
483
|
+
flag && trArray.splice(0, 1);
|
484
|
+
trArray = sort(trArray,function (tr1, tr2) {
|
485
|
+
var result;
|
486
|
+
if (compareFn && typeof compareFn === "function") {
|
487
|
+
result = compareFn.call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]);
|
488
|
+
} else if (compareFn && typeof compareFn === "number") {
|
489
|
+
result = 1;
|
490
|
+
} else if (compareFn && typeof compareFn === "string" && Fn[compareFn]) {
|
491
|
+
result = Fn[compareFn].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]);
|
492
|
+
} else {
|
493
|
+
result = Fn['orderbyasc'].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]);
|
494
|
+
}
|
495
|
+
return result;
|
496
|
+
});
|
497
|
+
var fragment = table.ownerDocument.createDocumentFragment();
|
498
|
+
for (var j = 0, len = trArray.length; j < len; j++) {
|
499
|
+
fragment.appendChild(trArray[j]);
|
500
|
+
}
|
501
|
+
var tbody = table.getElementsByTagName("tbody")[0];
|
502
|
+
if(!lastRowIndex){
|
503
|
+
tbody.appendChild(fragment);
|
504
|
+
}else{
|
505
|
+
tbody.insertBefore(fragment,rows[lastRowIndex- range.endRowIndex + range.beginRowIndex - 1])
|
506
|
+
}
|
507
|
+
}
|
508
|
+
//冒泡排序
|
509
|
+
function sort(array, compareFn){
|
510
|
+
compareFn = compareFn || function(item1, item2){ return item1.localeCompare(item2);};
|
511
|
+
for(var i= 0,len = array.length; i<len; i++){
|
512
|
+
for(var j = i,length = array.length; j<length; j++){
|
513
|
+
if(compareFn(array[i], array[j]) > 0){
|
514
|
+
var t = array[i];
|
515
|
+
array[i] = array[j];
|
516
|
+
array[j] = t;
|
517
|
+
}
|
518
|
+
}
|
519
|
+
}
|
520
|
+
return array;
|
521
|
+
}
|
522
|
+
//更新表格
|
523
|
+
function updateTable(table) {
|
524
|
+
//给第一行设置firstRow的样式名称,在排序图标的样式上使用到
|
525
|
+
if(!utils.hasClass(table.rows[0], "firstRow")) {
|
526
|
+
for(var i = 1; i< table.rows.length; i++) {
|
527
|
+
utils.removeClass(table.rows[i], "firstRow");
|
528
|
+
}
|
529
|
+
utils.addClass(table.rows[0], "firstRow");
|
530
|
+
}
|
531
|
+
}
|
532
|
+
}
|
533
|
+
});
|
534
|
+
/*
|
535
|
+
* 图表parse插件
|
536
|
+
*/
|
537
|
+
|
538
|
+
UE.parse.register('charts',function( utils ){
|
539
|
+
|
540
|
+
utils.cssRule('chartsContainerHeight','.edui-chart-container { height:'+(this.chartContainerHeight||300)+'px}');
|
541
|
+
var resourceRoot = this.rootPath,
|
542
|
+
containers = this.root,
|
543
|
+
sources = null;
|
544
|
+
|
545
|
+
//不存在指定的根路径, 则直接退出
|
546
|
+
if ( !resourceRoot ) {
|
547
|
+
return;
|
548
|
+
}
|
549
|
+
|
550
|
+
if ( sources = parseSources() ) {
|
551
|
+
|
552
|
+
loadResources();
|
553
|
+
|
554
|
+
}
|
555
|
+
|
556
|
+
|
557
|
+
function parseSources () {
|
558
|
+
|
559
|
+
if ( !containers ) {
|
560
|
+
return null;
|
561
|
+
}
|
562
|
+
|
563
|
+
return extractChartData( containers );
|
564
|
+
|
565
|
+
}
|
566
|
+
|
567
|
+
/**
|
568
|
+
* 提取数据
|
569
|
+
*/
|
570
|
+
function extractChartData ( rootNode ) {
|
571
|
+
|
572
|
+
var data = [],
|
573
|
+
tables = rootNode.getElementsByTagName( "table" );
|
574
|
+
|
575
|
+
for ( var i = 0, tableNode; tableNode = tables[ i ]; i++ ) {
|
576
|
+
|
577
|
+
if ( tableNode.getAttribute( "data-chart" ) !== null ) {
|
578
|
+
|
579
|
+
data.push( formatData( tableNode ) );
|
580
|
+
|
581
|
+
}
|
582
|
+
|
583
|
+
}
|
584
|
+
|
585
|
+
return data.length ? data : null;
|
586
|
+
|
587
|
+
}
|
588
|
+
|
589
|
+
function formatData ( tableNode ) {
|
590
|
+
|
591
|
+
var meta = tableNode.getAttribute( "data-chart" ),
|
592
|
+
metaConfig = {},
|
593
|
+
data = [];
|
594
|
+
|
595
|
+
//提取table数据
|
596
|
+
for ( var i = 0, row; row = tableNode.rows[ i ]; i++ ) {
|
597
|
+
|
598
|
+
var rowData = [];
|
599
|
+
|
600
|
+
for ( var j = 0, cell; cell = row.cells[ j ]; j++ ) {
|
601
|
+
|
602
|
+
var value = ( cell.innerText || cell.textContent || '' );
|
603
|
+
rowData.push( cell.tagName == 'TH' ? value:(value | 0) );
|
604
|
+
|
605
|
+
}
|
606
|
+
|
607
|
+
data.push( rowData );
|
608
|
+
|
609
|
+
}
|
610
|
+
|
611
|
+
//解析元信息
|
612
|
+
meta = meta.split( ";" );
|
613
|
+
for ( var i = 0, metaData; metaData = meta[ i ]; i++ ) {
|
614
|
+
|
615
|
+
metaData = metaData.split( ":" );
|
616
|
+
metaConfig[ metaData[ 0 ] ] = metaData[ 1 ];
|
617
|
+
|
618
|
+
}
|
619
|
+
|
620
|
+
|
621
|
+
return {
|
622
|
+
table: tableNode,
|
623
|
+
meta: metaConfig,
|
624
|
+
data: data
|
625
|
+
};
|
626
|
+
|
627
|
+
}
|
628
|
+
|
629
|
+
//加载资源
|
630
|
+
function loadResources () {
|
631
|
+
|
632
|
+
loadJQuery();
|
633
|
+
|
634
|
+
}
|
635
|
+
|
636
|
+
function loadJQuery () {
|
637
|
+
|
638
|
+
//不存在jquery, 则加载jquery
|
639
|
+
if ( !window.jQuery ) {
|
640
|
+
|
641
|
+
utils.loadFile(document,{
|
642
|
+
src : resourceRoot + "/third-party/jquery-1.10.2.min.js",
|
643
|
+
tag : "script",
|
644
|
+
type : "text/javascript",
|
645
|
+
defer : "defer"
|
646
|
+
},function(){
|
647
|
+
|
648
|
+
loadHighcharts();
|
649
|
+
|
650
|
+
});
|
651
|
+
|
652
|
+
} else {
|
653
|
+
|
654
|
+
loadHighcharts();
|
655
|
+
|
656
|
+
}
|
657
|
+
|
658
|
+
}
|
659
|
+
|
660
|
+
function loadHighcharts () {
|
661
|
+
|
662
|
+
//不存在Highcharts, 则加载Highcharts
|
663
|
+
if ( !window.Highcharts ) {
|
664
|
+
|
665
|
+
utils.loadFile(document,{
|
666
|
+
src : resourceRoot + "/third-party/highcharts/highcharts.js",
|
667
|
+
tag : "script",
|
668
|
+
type : "text/javascript",
|
669
|
+
defer : "defer"
|
670
|
+
},function(){
|
671
|
+
|
672
|
+
loadTypeConfig();
|
673
|
+
|
674
|
+
});
|
675
|
+
|
676
|
+
} else {
|
677
|
+
|
678
|
+
loadTypeConfig();
|
679
|
+
|
680
|
+
}
|
681
|
+
|
682
|
+
}
|
683
|
+
|
684
|
+
//加载图表差异化配置文件
|
685
|
+
function loadTypeConfig () {
|
686
|
+
|
687
|
+
utils.loadFile(document,{
|
688
|
+
src : resourceRoot + "/dialogs/charts/chart.config.js",
|
689
|
+
tag : "script",
|
690
|
+
type : "text/javascript",
|
691
|
+
defer : "defer"
|
692
|
+
},function(){
|
693
|
+
|
694
|
+
render();
|
695
|
+
|
696
|
+
});
|
697
|
+
|
698
|
+
}
|
699
|
+
|
700
|
+
//渲染图表
|
701
|
+
function render () {
|
702
|
+
|
703
|
+
var config = null,
|
704
|
+
chartConfig = null,
|
705
|
+
container = null;
|
706
|
+
|
707
|
+
for ( var i = 0, len = sources.length; i < len; i++ ) {
|
708
|
+
|
709
|
+
config = sources[ i ];
|
710
|
+
|
711
|
+
chartConfig = analysisConfig( config );
|
712
|
+
|
713
|
+
container = createContainer( config.table );
|
714
|
+
|
715
|
+
renderChart( container, typeConfig[ config.meta.chartType ], chartConfig );
|
716
|
+
|
717
|
+
}
|
718
|
+
|
719
|
+
|
720
|
+
}
|
721
|
+
|
722
|
+
/*
|
723
|
+
* 渲染图表
|
724
|
+
* @param container 图表容器节点对象
|
725
|
+
* @param typeConfig 图表类型配置
|
726
|
+
* @param config 图表通用配置
|
727
|
+
* */
|
728
|
+
function renderChart ( container, typeConfig, config ) {
|
729
|
+
|
730
|
+
|
731
|
+
$( container ).highcharts( $.extend( {}, typeConfig, {
|
732
|
+
|
733
|
+
credits: {
|
734
|
+
enabled: false
|
735
|
+
},
|
736
|
+
exporting: {
|
737
|
+
enabled: false
|
738
|
+
},
|
739
|
+
title: {
|
740
|
+
text: config.title,
|
741
|
+
x: -20 //center
|
742
|
+
},
|
743
|
+
subtitle: {
|
744
|
+
text: config.subTitle,
|
745
|
+
x: -20
|
746
|
+
},
|
747
|
+
xAxis: {
|
748
|
+
title: {
|
749
|
+
text: config.xTitle
|
750
|
+
},
|
751
|
+
categories: config.categories
|
752
|
+
},
|
753
|
+
yAxis: {
|
754
|
+
title: {
|
755
|
+
text: config.yTitle
|
756
|
+
},
|
757
|
+
plotLines: [{
|
758
|
+
value: 0,
|
759
|
+
width: 1,
|
760
|
+
color: '#808080'
|
761
|
+
}]
|
762
|
+
},
|
763
|
+
tooltip: {
|
764
|
+
enabled: true,
|
765
|
+
valueSuffix: config.suffix
|
766
|
+
},
|
767
|
+
legend: {
|
768
|
+
layout: 'vertical',
|
769
|
+
align: 'right',
|
770
|
+
verticalAlign: 'middle',
|
771
|
+
borderWidth: 1
|
772
|
+
},
|
773
|
+
series: config.series
|
774
|
+
|
775
|
+
} ));
|
776
|
+
|
777
|
+
}
|
778
|
+
|
779
|
+
/*
|
780
|
+
* 创建图表的容器
|
781
|
+
* 新创建的容器会替换掉对应的table对象
|
782
|
+
* */
|
783
|
+
function createContainer ( tableNode ) {
|
784
|
+
|
785
|
+
var container = document.createElement( "div" );
|
786
|
+
container.className = "edui-chart-container";
|
787
|
+
|
788
|
+
tableNode.parentNode.replaceChild( container, tableNode );
|
789
|
+
|
790
|
+
return container;
|
791
|
+
|
792
|
+
}
|
793
|
+
|
794
|
+
//根据config解析出正确的类别和图表数据信息
|
795
|
+
function analysisConfig ( config ) {
|
796
|
+
|
797
|
+
var series = [],
|
798
|
+
//数据类别
|
799
|
+
categories = [],
|
800
|
+
result = [],
|
801
|
+
data = config.data,
|
802
|
+
meta = config.meta;
|
803
|
+
|
804
|
+
//数据对齐方式为相反的方式, 需要反转数据
|
805
|
+
if ( meta.dataFormat != "1" ) {
|
806
|
+
|
807
|
+
for ( var i = 0, len = data.length; i < len ; i++ ) {
|
808
|
+
|
809
|
+
for ( var j = 0, jlen = data[ i ].length; j < jlen; j++ ) {
|
810
|
+
|
811
|
+
if ( !result[ j ] ) {
|
812
|
+
result[ j ] = [];
|
813
|
+
}
|
814
|
+
|
815
|
+
result[ j ][ i ] = data[ i ][ j ];
|
816
|
+
|
817
|
+
}
|
818
|
+
|
819
|
+
}
|
820
|
+
|
821
|
+
data = result;
|
822
|
+
|
823
|
+
}
|
824
|
+
|
825
|
+
result = {};
|
826
|
+
|
827
|
+
//普通图表
|
828
|
+
if ( meta.chartType != typeConfig.length - 1 ) {
|
829
|
+
|
830
|
+
categories = data[ 0 ].slice( 1 );
|
831
|
+
|
832
|
+
for ( var i = 1, curData; curData = data[ i ]; i++ ) {
|
833
|
+
series.push( {
|
834
|
+
name: curData[ 0 ],
|
835
|
+
data: curData.slice( 1 )
|
836
|
+
} );
|
837
|
+
}
|
838
|
+
|
839
|
+
result.series = series;
|
840
|
+
result.categories = categories;
|
841
|
+
result.title = meta.title;
|
842
|
+
result.subTitle = meta.subTitle;
|
843
|
+
result.xTitle = meta.xTitle;
|
844
|
+
result.yTitle = meta.yTitle;
|
845
|
+
result.suffix = meta.suffix;
|
846
|
+
|
847
|
+
} else {
|
848
|
+
|
849
|
+
var curData = [];
|
850
|
+
|
851
|
+
for ( var i = 1, len = data[ 0 ].length; i < len; i++ ) {
|
852
|
+
|
853
|
+
curData.push( [ data[ 0 ][ i ], data[ 1 ][ i ] | 0 ] );
|
854
|
+
|
855
|
+
}
|
856
|
+
|
857
|
+
//饼图
|
858
|
+
series[ 0 ] = {
|
859
|
+
type: 'pie',
|
860
|
+
name: meta.tip,
|
861
|
+
data: curData
|
862
|
+
};
|
863
|
+
|
864
|
+
result.series = series;
|
865
|
+
result.title = meta.title;
|
866
|
+
result.suffix = meta.suffix;
|
867
|
+
|
868
|
+
}
|
869
|
+
|
870
|
+
return result;
|
871
|
+
|
872
|
+
}
|
873
|
+
|
874
|
+
});
|
875
|
+
UE.parse.register('background', function (utils) {
|
876
|
+
var me = this,
|
877
|
+
root = me.root,
|
878
|
+
p = root.getElementsByTagName('p'),
|
879
|
+
styles;
|
880
|
+
|
881
|
+
for (var i = 0,ci; ci = p[i++];) {
|
882
|
+
styles = ci.getAttribute('data-background');
|
883
|
+
if (styles){
|
884
|
+
ci.parentNode.removeChild(ci);
|
885
|
+
}
|
886
|
+
}
|
887
|
+
|
888
|
+
//追加默认的表格样式
|
889
|
+
styles && utils.cssRule('ueditor_background', me.selector + '{' + styles + '}', document);
|
890
|
+
});
|
891
|
+
UE.parse.register('list',function(utils){
|
892
|
+
var customCss = [],
|
893
|
+
customStyle = {
|
894
|
+
'cn' : 'cn-1-',
|
895
|
+
'cn1' : 'cn-2-',
|
896
|
+
'cn2' : 'cn-3-',
|
897
|
+
'num' : 'num-1-',
|
898
|
+
'num1' : 'num-2-',
|
899
|
+
'num2' : 'num-3-',
|
900
|
+
'dash' : 'dash',
|
901
|
+
'dot' : 'dot'
|
902
|
+
};
|
903
|
+
|
904
|
+
|
905
|
+
utils.extend(this,{
|
906
|
+
liiconpath : 'http://bs.baidu.com/listicon/',
|
907
|
+
listDefaultPaddingLeft : '20'
|
908
|
+
});
|
909
|
+
|
910
|
+
var root = this.root,
|
911
|
+
ols = root.getElementsByTagName('ol'),
|
912
|
+
uls = root.getElementsByTagName('ul'),
|
913
|
+
selector = this.selector;
|
914
|
+
|
915
|
+
if(ols.length){
|
916
|
+
applyStyle.call(this,ols);
|
917
|
+
}
|
918
|
+
|
919
|
+
if(uls.length){
|
920
|
+
applyStyle.call(this,uls);
|
921
|
+
}
|
922
|
+
|
923
|
+
if(ols.length || uls.length){
|
924
|
+
customCss.push(selector +' .list-paddingleft-1{padding-left:0}');
|
925
|
+
customCss.push(selector +' .list-paddingleft-2{padding-left:'+ this.listDefaultPaddingLeft+'px}');
|
926
|
+
customCss.push(selector +' .list-paddingleft-3{padding-left:'+ this.listDefaultPaddingLeft*2+'px}');
|
927
|
+
|
928
|
+
utils.cssRule('list', selector +' ol,'+selector +' ul{margin:0;padding:0;}li{clear:both;}'+customCss.join('\n'), document);
|
929
|
+
}
|
930
|
+
function applyStyle(nodes){
|
931
|
+
var T = this;
|
932
|
+
utils.each(nodes,function(list){
|
933
|
+
if(list.className && /custom_/i.test(list.className)){
|
934
|
+
var listStyle = list.className.match(/custom_(\w+)/)[1];
|
935
|
+
if(listStyle == 'dash' || listStyle == 'dot'){
|
936
|
+
utils.pushItem(customCss,selector +' li.list-' + customStyle[listStyle] + '{background-image:url(' + T.liiconpath +customStyle[listStyle]+'.gif)}');
|
937
|
+
utils.pushItem(customCss,selector +' ul.custom_'+listStyle+'{list-style:none;} '+ selector +' ul.custom_'+listStyle+' li{background-position:0 3px;background-repeat:no-repeat}');
|
938
|
+
|
939
|
+
}else{
|
940
|
+
var index = 1;
|
941
|
+
utils.each(list.childNodes,function(li){
|
942
|
+
if(li.tagName == 'LI'){
|
943
|
+
utils.pushItem(customCss,selector + ' li.list-' + customStyle[listStyle] + index + '{background-image:url(' + T.liiconpath + 'list-'+customStyle[listStyle] +index + '.gif)}');
|
944
|
+
index++;
|
945
|
+
}
|
946
|
+
});
|
947
|
+
utils.pushItem(customCss,selector + ' ol.custom_'+listStyle+'{list-style:none;}'+selector+' ol.custom_'+listStyle+' li{background-position:0 3px;background-repeat:no-repeat}');
|
948
|
+
}
|
949
|
+
switch(listStyle){
|
950
|
+
case 'cn':
|
951
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:25px}');
|
952
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:40px}');
|
953
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-3{padding-left:55px}');
|
954
|
+
break;
|
955
|
+
case 'cn1':
|
956
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:30px}');
|
957
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:40px}');
|
958
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-3{padding-left:55px}');
|
959
|
+
break;
|
960
|
+
case 'cn2':
|
961
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:40px}');
|
962
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:55px}');
|
963
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-3{padding-left:68px}');
|
964
|
+
break;
|
965
|
+
case 'num':
|
966
|
+
case 'num1':
|
967
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:25px}');
|
968
|
+
break;
|
969
|
+
case 'num2':
|
970
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:35px}');
|
971
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:40px}');
|
972
|
+
break;
|
973
|
+
case 'dash':
|
974
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft{padding-left:35px}');
|
975
|
+
break;
|
976
|
+
case 'dot':
|
977
|
+
utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft{padding-left:20px}');
|
978
|
+
}
|
979
|
+
}
|
980
|
+
});
|
981
|
+
}
|
982
|
+
|
983
|
+
|
984
|
+
});
|
985
|
+
UE.parse.register('vedio',function(utils){
|
986
|
+
var video = this.root.getElementsByTagName('video'),
|
987
|
+
audio = this.root.getElementsByTagName('audio');
|
988
|
+
|
989
|
+
document.createElement('video');document.createElement('audio');
|
990
|
+
if(video.length || audio.length){
|
991
|
+
var sourcePath = utils.removeLastbs(this.rootPath),
|
992
|
+
jsurl = sourcePath + '/third-party/video-js/video.js',
|
993
|
+
cssurl = sourcePath + '/third-party/video-js/video-js.min.css',
|
994
|
+
swfUrl = sourcePath + '/third-party/video-js/video-js.swf';
|
995
|
+
|
996
|
+
utils.loadFile(document,{
|
997
|
+
id : "video_css",
|
998
|
+
tag : "link",
|
999
|
+
rel : "stylesheet",
|
1000
|
+
type : "text/css",
|
1001
|
+
href : cssurl
|
1002
|
+
});
|
1003
|
+
utils.loadFile(document,{
|
1004
|
+
id : "video_js",
|
1005
|
+
src : jsurl,
|
1006
|
+
tag : "script",
|
1007
|
+
type : "text/javascript"
|
1008
|
+
},function(){
|
1009
|
+
videojs.options.flash.swf = swfUrl;
|
1010
|
+
});
|
1011
|
+
|
1012
|
+
}
|
1013
|
+
});
|
1014
|
+
|
1015
|
+
})()
|