问题描述
我在应用程序中使用了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 (将#修改为@)