【发布时间】:2014-09-24 14:21:41
【问题描述】:
我正在创建一个 CMS,用户可以使用 tinyMCE 编辑存储在服务器上的 html 页面。通过将源文本放入文本区域,将源文本加载到我的 C# 代码隐藏文件的编辑器中。当我在这里放置断点时,我可以看到源 html 没有被 C# 代码更改。当文本出现在编辑器中时,它会自动将 <p> 标签与它们之间的不间断空格添加到文档的顶部,从而在每次保存时创建越来越大的间距,即使我已经设置了 force_p_newlines 和 force_br_newlines为假。在保存文档之前,通常无法在编辑器中看到此间距(仅通过从工具->源代码下拉菜单中查看源代码)。任何想法可能导致此问题? tinyMCE的代码如下:
tinymce.init({
selector: 'textarea',
height: 600,
width: 1000,
force_br_newlines: false,
force_p_newlines: false,
skin: 'lightgray',
plugins: [
"paste advlist link image lists preview hr anchor pagebreak",
"searchreplace visualchars code fullscreen insertdatetime",
"save table contextmenu directionality emoticons paste textcolor"
],
toolbar: "save | insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link | print preview fullpage | forecolor backcolor",
save_enablewhendirty: true,
save_onsavecallback: function(){
var contents = tinyMCE.activeEditor.getContent();
//puts contents into HiddenField
$("[id$='editorContent']").val(contents);
//Clicks hidden button to trigger event server-side
$("[id$='testBtn']").click();
}
});
我的 tinyMCE 是 4.0.17 版。如有必要,我还可以附加一个指向我正在使用的 html 页面的链接,但由于它们是从 MS Word 保存到 html 的,它们充满了不相关的文档属性,而且在很大程度上难以理解。
编辑:我解决了 Chrome 中的问题,即通过使用一个样式表和一个存储在所有页面的文本文件中的头部并删除标题,将 html 页面的标题添加到 <p> 标记之间的编辑器内容中以及来自他们的许多其他 MSO 人工制品。因此,我已经删除了与此问题相关的所有 C# 源代码,但如果它可能与 <p> 和 &nbsp 问题相关,我可以将其粘贴回去。
【问题讨论】: