我正在尝试将上传的图像嵌入到编辑器中。我的filebrowserUploadUrl
is /api/m/image
它似乎工作正常。我点击后Send it to the Server
按钮时,出现脚本错误,如下:
image.js?t=H4PG:19 Uncaught TypeError: Cannot read property 'setCustomData'
of undefined
at textInput.onChange (image.js?t=H4PG:19)
at textInput.n (ckeditor.js:10)
at textInput.CKEDITOR.event.CKEDITOR.event.fire (ckeditor.js:12)
at textInput.setValue (ckeditor.js:619)
at textInput.setValue (ckeditor.js:545)
at a.q (ckeditor.js:841)
at ckeditor.js:31
at Object.callFunction (ckeditor.js:31)
at image?CKEditor=editor&CKEditorFuncNum=1&langCode=en:1
上面的最后一行是调用filebrowserUploadUrl
其响应是:
window.parent.CKEDITOR.tools.callFunction(1, '/images/bulletins.jpg', 'Uploaded successfully');
The Uploaded successfully
消息显示在警报中。下的预览框Image Info
选项卡未更新。但是,如果我单击“确定”关闭对话框,图像 (bulletins.jpg) 就会正确嵌入到编辑器中。
可能是什么原因导致该错误以及如何修复它?
我找到了造成这种情况的原因。我想在“插入图像”对话框启动到“上传”选项卡时设置默认选项卡。我使用以下代码:
CKEDITOR.on("dialogDefinition", function(ev) {
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
if (dialogName === "image") {
dialogDefinition.onShow = function() {
this.selectPage("Upload");
}
}
});
当使用上述代码时,上传文件时会发生该错误。
我遇到了同样的问题,在使用 vikram 提出的解决方案后,编辑器在将图像链接粘贴到文本中时生成错误。这里有更好的方法,不要完全覆盖默认值onShow
方法,但可以通过以下方式添加更多内容:
CKEDITOR.on('dialogDefinition', function (ev) {
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
if (dialogName == 'image') {
var oldOnShow = dialogDefinition.onShow;
var newOnShow = function () {
this.selectPage('Upload');
this.hidePage('Link');
// change tabs order
$('a[title=Upload].cke_dialog_tab').css('float', 'left');
};
dialogDefinition.onShow = function () {
oldOnShow.call(this, arguments);
newOnShow.call(this, arguments);
};
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)