snapscreen.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. ///import core
  2. ///commandsName snapscreen
  3. ///commandsTitle 截屏
  4. /**
  5. * 截屏插件
  6. */
  7. UE.commands['snapscreen'] = {
  8. execCommand: function(){
  9. var me = this;
  10. me.setOpt({
  11. snapscreenServerPort: 80 //屏幕截图的server端端口
  12. ,snapscreenImgAlign: 'center' //截图的图片默认的排版方式
  13. });
  14. var editorOptions = me.options;
  15. if(!browser.ie){
  16. alert('截图功能需要在ie浏览器下使用');
  17. return;
  18. }
  19. var onSuccess = function(rs){
  20. try{
  21. rs = eval("("+ rs +")");
  22. }catch(e){
  23. alert('截屏上传有误\n\n请检查editor_config.js中关于截屏的配置项\n\nsnapscreenHost 变量值 应该为屏幕截图的server端文件所在的网站地址或者ip');
  24. return;
  25. }
  26. if(rs.state != 'SUCCESS'){
  27. alert(rs.state);
  28. return;
  29. }
  30. me.execCommand('insertimage', {
  31. src: editorOptions.snapscreenPath + rs.url,
  32. floatStyle: editorOptions.snapscreenImgAlign,
  33. data_ue_src:editorOptions.snapscreenPath + rs.url
  34. });
  35. };
  36. var onStartUpload = function(){
  37. //开始截图上传
  38. };
  39. var onError = function(){
  40. alert('截图上传失败,请检查你的PHP环境。 ');
  41. };
  42. try{
  43. var nativeObj = new ActiveXObject('Snapsie.CoSnapsie');
  44. nativeObj.saveSnapshot(editorOptions.snapscreenHost, editorOptions.snapscreenServerUrl, editorOptions.snapscreenServerPort, onStartUpload,onSuccess,onError);
  45. }catch(e){
  46. me.ui._dialogs['snapscreenDialog'].open();
  47. }
  48. },
  49. queryCommandState: function(){
  50. return this.highlight || !browser.ie ? -1 :0;
  51. }
  52. };