我正试图让Summernote编辑器插入图像,但它无法正常工作。我看到许多其他人都在为同一问题而苦苦挣扎,但是我发现的所有解决方案都行不通。问题是我无法在sendFile()函数内使用相同的Summernote对象插入图像,但是如果我将“ insertImage”移出函数,则效果很好。
我猜测Summernote对象有问题。我尝试使用“ $ this,$ that,编辑器,welEditable”和某些人建议的其他参数,但是它不起作用。我认为它不起作用,因为我使用的是Summernote的较新版本,并且它们可能已经更改了Summernote对象的操作方式。
这是我现在的代码:
<script>
$('#summernote').summernote({
tabsize: 2,
height: 500,
styleTags: ['p', 'h2', 'h3'],
callbacks: {
onImageUpload: function (files) {
for (var i = files.length - 1; i >= 0; i--) {
sendFile(files[i]);
}
}
}
});
function sendFile(file) {
console.log(file);
var form_data = new FormData();
form_data.append('file', file);
$.ajax({
url: "@Url.Action("UploadImage","Admin")",
data: form_data,
type: "POST",
cache: false,
contentType: false,
processData: false,
success: function (url) {
$('#summernote').summernote('insertImage', url);
}
});
}
$('.note-toolbar .note-fontname').remove();
</script>
例如,如果我这样做:
<script>
$('#summernote').summernote('insertImage', "https://google.com/image.png");
</script>
然后正常工作。但是否则我会收到错误: TypeError:$(...)。summernote不是函数。
我正在使用Summernote 0.8.12(精简版)。有人能看到我在做什么吗?
非常感谢。
答案 0 :(得分:0)
这可能是由于JavaScript包含顺序引起的。确保对summersum.js的引用在jquery和bootstrap引用之后。