我创建了自己的 insertImageDialog 挂钩,以允许直接在编辑器中上传文件。
$('div#insertImageDialog input[type=file]').ajaxfileupload({
action: $file.attr('data-action'),
onStart: function() {
$loader.show();
},
onComplete: function(response) {
$loader.hide();
if (response.success) {
callback(response.imagePath); // <---- oO
dialogClose();
} else {
alert(response.message);
$file.val('');
}
}
});
我第一次插入图像时效果很好。
此后每次都会失败,但出现以下异常:
未捕获的类型错误:无法调用 null 的方法“removeChild”
Markdown.Editor.js:1683 commandProto.doLinkOrImage.linkEnteredCallback
Markdown.Editor.js:1683
self.initMarkdownEditor.editor.hooks.set.$.ajaxfileupload.onComplete
上传在编辑器之外工作正常,所以我只能认为这是回调的某种范围问题。
一整天的大部分时间我都在为此烦恼。
问题有两个方面
- 我没有意识到钩子被调用了every用户单击图像按钮的时间。这意味着我实际上正在为文件上传设置多个“更改”处理程序。
- 我使用的上传插件期望处理程序注册一次(即使我们清除它)。
我已经在我的上记录了完整的工作解决方案blog http://ben.onfabrik.com/posts/pagedown-markdown-editor-custom-image-dialog.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)