在Razor页面中集成TinyMCE编辑器失败求助
解决Razor页面集成TinyMCE编辑器无法输入的问题
以下是几个针对性的修复方案,按优先级尝试:
1. 移除冲突的初始化配置
TinyMCE 4版本中,mode和selector配置项不能同时使用,二者存在兼容性冲突。保留selector并删除mode即可:
修改后的JS初始化代码:
tinyMCE.init({ selector: "#SignatureField", // 可选:添加基础工具栏和插件,确保编辑器功能正常 height: 300, plugins: "advlist autolink lists link image charmap print preview anchor", toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image" });
2. 清理textarea标签的多余空白
渲染后的textarea标签内存在换行空白,可能干扰编辑器初始化。调整视图代码,确保生成紧凑的textarea标签:
<div class="form-group row"> <div class="col"> @Html.TextAreaFor(model => model.SignatureField, new { @class = "form-control editorHtml" }) </div> </div>
(注意删除Razor代码中不必要的换行,避免生成带空白内容的textarea)
3. 升级TinyMCE版本
你使用的4.0.20是非常老旧的版本(发布于2015年),存在大量已知bug。建议升级到同分支的最新稳定版(如4.10.0),替换CDN链接:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tinymce/4.10.0/tinymce.min.js"></script>
4. 验证脚本加载顺序
确保TinyMCE的脚本文件在初始化代码之前加载,当前Scripts区块的写法是正确的,若页面存在其他自定义脚本,需确认没有阻塞TinyMCE的加载和初始化。
内容的提问来源于stack exchange,提问作者Anjali
相关产品推荐
相关产品推荐

