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.JdbcOdbc...