snapscreen.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ///import core
  2. ///import plugins\inserthtml.js
  3. ///import plugins\image.js
  4. ///commandsName snapscreen
  5. ///commandsTitle 截屏
  6. /**
  7. * 截屏插件
  8. */
  9. UE.plugins['snapscreen'] = function(){
  10. var me = this,
  11. doc,
  12. snapplugin;
  13. me.addListener("ready",function(){
  14. var container = me.container;
  15. doc = container.ownerDocument || container.document;
  16. snapplugin = doc.createElement("object");
  17. snapplugin.type = "application/x-pluginbaidusnap";
  18. snapplugin.style.cssText = "position:absolute;left:-9999px;";
  19. snapplugin.setAttribute("width","0");
  20. snapplugin.setAttribute("height","0");
  21. container.appendChild(snapplugin);
  22. });
  23. me.commands['snapscreen'] = {
  24. execCommand: function(){
  25. var me = this,lang = me.getLang("snapScreen_plugin");
  26. me.setOpt({
  27. snapscreenServerPort: 80 //屏幕截图的server端端口
  28. ,snapscreenImgAlign: '' //截图的图片默认的排版方式
  29. });
  30. var editorOptions = me.options;
  31. var onSuccess = function(rs){
  32. try{
  33. rs = eval("("+ rs +")");
  34. }catch(e){
  35. alert(lang.callBackErrorMsg);
  36. return;
  37. }
  38. if(rs.state != 'SUCCESS'){
  39. alert(rs.state);
  40. return;
  41. }
  42. me.execCommand('insertimage', {
  43. src: editorOptions.snapscreenPath + rs.url,
  44. floatStyle: editorOptions.snapscreenImgAlign,
  45. data_ue_src:editorOptions.snapscreenPath + rs.url
  46. });
  47. };
  48. var onStartUpload = function(){
  49. //开始截图上传
  50. };
  51. var onError = function(){
  52. alert(lang.uploadErrorMsg);
  53. };
  54. try{
  55. var ret =snapplugin.saveSnapshot(editorOptions.snapscreenHost, editorOptions.snapscreenServerUrl, editorOptions.snapscreenServerPort.toString());
  56. onSuccess(ret);
  57. }catch(e){
  58. me.ui._dialogs['snapscreenDialog'].open();
  59. }
  60. },
  61. queryCommandState: function(){
  62. return this.highlight ? -1 :0;
  63. }
  64. };
  65. }