forked from fex-team/ueditor
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
82 additions
and
72 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,82 +1,94 @@ | ||
///import core | ||
///import plugins\inserthtml.js | ||
///import plugins\image.js | ||
///commandsName snapscreen | ||
///commandsTitle 截屏 | ||
/* | ||
* 截屏插件 | ||
/** | ||
* 截屏插件,为UEditor提供插入支持 | ||
* @file | ||
* @since 1.4.0 | ||
*/ | ||
UE.plugins['snapscreen'] = function(){ | ||
var me = this, | ||
doc, | ||
snapplugin; | ||
UE.plugin.register('snapscreen', function (){ | ||
|
||
me.setOpt({ | ||
snapscreenServerPort: location.port //屏幕截图的server端端口 | ||
,snapscreenImgAlign: '' //截图的图片默认的排版方式 | ||
,snapscreenHost: location.hostname //屏幕截图的server端文件所在的网站地址或者ip,请不要加http:// | ||
var me = this; | ||
var snapplugin; | ||
|
||
// 设置截屏配置项默认值 | ||
me.setOpt({ | ||
snapscreenServerPort: location.port, // 屏幕截图的server端端口 | ||
snapscreenImgAlign: '', // 截图的图片默认的排版方式 | ||
snapscreenHost: location.hostname // 屏幕截图的server端文件所在的网站地址或者ip,请不要加http:// | ||
}); | ||
me.commands['snapscreen'] = { | ||
execCommand: function(){ | ||
var me = this,lang = me.getLang("snapScreen_plugin"); | ||
if(!snapplugin){ | ||
var container = me.container; | ||
doc = container.ownerDocument || container.document; | ||
snapplugin = doc.createElement("object"); | ||
try{snapplugin.type = "application/x-pluginbaidusnap";}catch(e){ | ||
return; | ||
} | ||
snapplugin.style.cssText = "position:absolute;left:-9999px;"; | ||
snapplugin.setAttribute("width","0"); | ||
snapplugin.setAttribute("height","0"); | ||
container.appendChild(snapplugin); | ||
} | ||
|
||
function getLocation(url){ | ||
var a = document.createElement('a'); | ||
|
||
var editorOptions = me.options; | ||
a.href = url; | ||
return { | ||
'port': a.port, | ||
'hostname': a.hostname, | ||
'path': a.pathname + a.search + a.hash | ||
} | ||
} | ||
|
||
var onSuccess = function(rs){ | ||
try{ | ||
rs = eval("("+ rs +")"); | ||
}catch(e){ | ||
alert(lang.callBackErrorMsg); | ||
return; | ||
} | ||
return { | ||
commands:{ | ||
/** | ||
* 字体背景颜色 | ||
* @command snapscreen | ||
* @method execCommand | ||
* @param { String } cmd 命令字符串 | ||
* @example | ||
* ```javascript | ||
* editor.execCommand('snapscreen'); | ||
* ``` | ||
*/ | ||
'snapscreen':{ | ||
execCommand:function (cmd) { | ||
var url, local, res; | ||
var me = this, | ||
lang = me.getLang("snapScreen_plugin"); | ||
|
||
if(rs.state != 'SUCCESS'){ | ||
alert(rs.state); | ||
return; | ||
} | ||
me.execCommand('insertimage', { | ||
src: editorOptions.snapscreenUrlPrefix + rs.url, | ||
floatStyle: editorOptions.snapscreenImgAlign, | ||
_src:editorOptions.snapscreenUrlPrefix + rs.url | ||
}); | ||
}; | ||
var onStartUpload = function(){ | ||
//开始截图上传 | ||
}; | ||
var onError = function(){ | ||
alert(lang.uploadErrorMsg); | ||
}; | ||
if(!snapplugin){ | ||
var container = me.container; | ||
var doc = me.container.ownerDocument || me.container.document; | ||
snapplugin = doc.createElement("object"); | ||
try{snapplugin.type = "application/x-pluginbaidusnap";}catch(e){ | ||
return; | ||
} | ||
snapplugin.style.cssText = "position:absolute;left:-9999px;width:0;height:0;"; | ||
snapplugin.setAttribute("width","0"); | ||
snapplugin.setAttribute("height","0"); | ||
container.appendChild(snapplugin); | ||
} | ||
|
||
var port = editorOptions.snapscreenServerPort + '', | ||
snapscreenServerUrl = me.getActionUrl(me.getOpt('snapscreenActionName')); | ||
snapscreenServerUrl = snapscreenServerUrl.split( editorOptions.snapscreenHost ); | ||
snapscreenServerUrl = snapscreenServerUrl[1] || snapscreenServerUrl[0]; | ||
if( snapscreenServerUrl.indexOf(":"+port) === 0 ) { | ||
snapscreenServerUrl = snapscreenServerUrl.substring( port.length+1 ); | ||
} | ||
function onSuccess(rs){ | ||
try{ | ||
rs = eval("("+ rs +")"); | ||
if(rs.state == 'SUCCESS'){ | ||
var opt = me.options; | ||
me.execCommand('insertimage', { | ||
src: opt.snapscreenUrlPrefix + rs.url, | ||
_src: opt.snapscreenUrlPrefix + rs.url, | ||
floatStyle: opt.snapscreenImgAlign | ||
}); | ||
} else { | ||
alert(rs.state); | ||
} | ||
}catch(e){ | ||
alert(lang.callBackErrorMsg); | ||
} | ||
} | ||
|
||
url = me.getActionUrl(me.getOpt('snapscreenActionName')); | ||
local = getLocation(url); | ||
setTimeout(function () { | ||
try{ | ||
res =snapplugin.saveSnapshot(local.hostname, '/ueditor/' + local.path, local.port); | ||
}catch(e){ | ||
me.ui._dialogs['snapscreenDialog'].open(); | ||
return; | ||
} | ||
|
||
try{ | ||
var ret =snapplugin.saveSnapshot(editorOptions.snapscreenHost, snapscreenServerUrl, port); | ||
}catch(e){ | ||
me.ui._dialogs['snapscreenDialog'].open(); | ||
return; | ||
onSuccess(res); | ||
}, 50); | ||
} | ||
} | ||
onSuccess(ret); | ||
} | ||
}; | ||
} | ||
|
||
} | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters