提问人:Freerey 提问时间:11/2/2023 最后编辑:Freerey 更新时间:11/4/2023 访问量:42
ReferenceError:未定义 ClassicEditor(ckeditor5,ASP.NET MVC)
ReferenceError: ClassicEditor is not Defined (ckeditor5, ASP.NET MVC)
问:
昨天我从官方网站下载了 build ckeditor5(版本 40)的经典编辑器,正在努力将其实现到我的 ASP.NET MVC 网站中。按照他们的 .NET 教程,我尝试创建一个简单的所见即所得编辑器,但经常遇到我看到其他人使用 CKEditor5 遇到的消息,即使在从他们的网站上下载并尝试模仿 ClassicEditor 的 MRE 之后也是如此。ReferenceError: ClassicEditor is not Defined
这是我的代码的样子,注意到多个 Bootstrap 和 jQuery 链接由此存储库外部的核心库处理,这意味着脚本通常加载到它们自己的 Razor 中:@RenderSection
@section Scripts {
<script src="/js/ckeditor.js"></script>
<script>
ClassicEditor
.create($('#ckeditor'))
.catch(error => {
console.error(error);
});
</script>
}
<div class="row form-group">
<div class="col-xl-6 col-lg-6 col-md-12 col-sm-12">
<div class="row">
<div class="col-md-12">
<textarea class="ckeditor" id="ckeditor"></textarea>
</div>
</div>
</div>
</div>
我已经尝试过的一些建议包括:
- 替换为 CDN 链接
/js/ckeditor.js
- 将 ClassicEditor 放置在 jQuery 的内部和外部
$(function(){})
- 在脚本中设置
window.ClassicEditor=ClassicEditor
- 设置
var ClassicEditor = require('js/ckeditor')
答:
0赞
Freerey
11/4/2023
#1
该行似乎被忽略的原因是,正如核心库所规定的那样,脚本通常在 Razor 中处理,该文件在输入时未确认 ckeditor.js 文件,从而导致标题错误。<script src="/js/ckeditor.js"></script>
@RenderSection
解决这个问题的方法是将 ckeditor.js 文件放在外面,如下所示:@RenderSection
<script src="/js/ckeditor.js"></script>
@section Scripts {
<script>
ClassicEditor
.create($('#ckeditor'))
.catch(error => {
console.error(error);
});
</script>
}
通过此修复,ClassicEditor 将完全按预期工作。
评论