如何解决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 举报,一经查实,本站将立刻删除。