Ckeditor从剪贴板拖放图像上传和粘贴图像在WebView JavaFX内部不起作用

如何解决Ckeditor从剪贴板拖放图像上传和粘贴图像在WebView JavaFX内部不起作用

我在应用程序中使用了ckeditor4。从剪贴板粘贴图像,然后使用ckeditor中的“ uploadimage”插件拖放。在浏览器中工作正常。如果我尝试从javafx webview访问同一页面。它不起作用。它甚至不会触发“ fileUploadRequest”方法

function activateCkeditor(){
    //Intializing ckeditor 
    CKEDITOR.disableAutoInline = true;
        var defToolbar = [{ name: 'basicstyles',groups: [ 'basicstyles' ],items: [ 'Bold','Italic','Underline','Strike','Subscript','Superscript'] },{ name: 'paragraph',groups: [ 'list'],items: [ 'NumberedList','BulletedList' ] },{ name: 'insert',items: [ 'Image']}];
        var inlineEditor = CKEDITOR.inline(id,{
            extraPlugins : 'sharedspace,uploadimage,uploadwidget',removePlugins: 'floatingspace,elementspath,magicline,wsc,scayt,liststyle,tableselection,tabletools,tableresize,contextmenu',sharedspaces: {
                       top: 'ckEditBar'
                     },toolbar: defToolbar,enterMode : CKEDITOR.ENTER_BR,shiftEnterMode : CKEDITOR.ENTER_BR,disallowedContent : 'div',imageUploadUrl : 'uploadImageAsNote.action',uploadUrl : 'uploadImageAsNote.action',startupFocus: false,readOnly : false,title : false,allowedContent: false,pasteFromWordPromptCleanup : false,pasteFromWordRemoveFontStyles : true,forcePasteAsPlainText : true,ignoreEmptyParagraph : true,});
        
        
    fnImageUpload(obj,inlineEditor);//binding event
}
    
function fnImageUpload(obj,editor){
    editor.on("contentDom",function() {
        editor.document.on("DOMNodeRemoved",function(e) {
            if($(e.target).hasClass("minImageTag")){
                $(".uploadImgIcon"+$(e.target).attr("imageid")).remove();
            }
        }); 
    });
    editor.on( 'fileUploadRequest',function( evt ) {
        console.log("inside fileuploadRequest");    
        var fileLoader = evt.data.fileLoader,formData = new FormData(),xhr = fileLoader.xhr;
          xhr.open( 'POST',fileLoader.uploadUrl,true );
          var file = fileLoader.file;
          var fileType = file["type"];
          var validImageTypes = ["image/gif","image/jpeg","image/png"];
          var fileSize = Math.round((fileLoader.file.size) / (1024));
         // if (Math.round(parseInt(fileLoader.file.size) / (1024 * 1024)) > 2) { // make it in MB so divide by 1024*1024
         if (fileSize>=2048) { // make it in MB so divide by 1024*1024
              alert($("#imageUploadLimitAlert").text());
              evt.cancel();
              $(".cke_widget_element").remove();
              $(".cke_widget_uploadimage").remove();
              evt.stop();
              return false;
          }
          if ($.inArray(fileType,validImageTypes) < 0) {
               // invalid file type code goes here.
              alert($("#InvalaidUploadType").text());
              evt.cancel();
              $(".cke_widget_element").remove();
              $(".cke_widget_uploadimage").remove();
              evt.stop();
              return false;
          }
          console.log("content"+(editor.name!="notesContent"));
          console.log("sdsa"+(obj!=undefined && obj!=null && $(obj).attr("entitytypecode")=="AI"));
          if((editor.name!="notesContent" && obj=="") || (obj!=undefined && obj!=null   && $(obj).attr("entitytypecode")=="AI")){
              alert($("#noImgForTask").text());
              evt.cancel();
              if(editor.name!="notesContent" && (obj=="")){
                  $(".textarea_cls").parent().find("iframe").contents().find("body").find(".cke_widget_element").remove();
                  $(".textarea_cls").parent().find("iframe").contents().find("body").find(".cke_widget_uploadimage").remove();
              }
              $(".cke_widget_element").remove();
              $(".cke_widget_uploadimage").remove();
              evt.stop();
              return false;
          } 
          formData.append( 'fileUpload',fileLoader.file,fileLoader.fileName );
          formData.append("uploadEditorId",editor.name);
            toAssignMeetingInfo('',formData);
         
          alert("before assign");
            fileLoader.xhr.send( formData );
          // Prevented the default behavior.
          evt.stop();
    } );
    editor.on( 'fileUploadResponse',function( evt ) {
      var fileLoader = evt.data.fileLoader,xhr = fileLoader.xhr,data = evt.data;
      data.error=null;
      var response = JSON.parse( xhr.responseText );
      var fileName = "";
      if(response!=null && response!=undefined && response.url!=null && response.url!=undefined && response.url!="undefined" && response.url!="null" && response.url!=''){
          insertimageIntoNote(response,editor);
          evt.stop();
          return false;
      }
      evt.stop();
    } );
    

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?