我目前正在编码的前端编辑在wordpress.其结果应该是使用wordpress文章进行类似evernote的编辑。
一个主要问题是合并编辑器的必要动态( DOM中的移位(已解决)和Get (已解决)和设置内容)。
Wordpress数据库存储没有段落的标记,并在交付时添加它们。最初在php中设置tinymce内容时
wp_editor( $content, $editor_id,$settings );内容在文本区域中写入(没有段落),tinymce在init上删除该内容,并对init进行一些处理,并将其写入可视化编辑器。
若要动态设置从wordpress数据库获取的内容,请使用
tinyMCE.get(editor_id).setContent(content);但不幸的是,这似乎绕过了对tinymce init所做的处理,从而导致了行间隔和段落的丢失。
我目前的解决办法是将内容设置为wordpress为worpress文本编辑器,然后切换回可视化编辑器,因为这似乎会触发对断点和段落的处理:
jQuery( "#myeditor-html" ).trigger( "click" );
jQuery('#textarea_id').val(content);
jQuery( "#myeditor-tmce" ).trigger( "click" );我真的不喜欢这个解决方案
我的编码技巧还不够好,无法阅读tinymce的init代码,我也无法找到wordpress在jQuery( "#myeditor-tmce" ).trigger( "click" )上所做的工作。
有个人也有同样的问题:
tinymce setContent removes new lines
但是这个解决方案是如此的基本,以至于它会与任何扩展的标记(例如列表)崩溃。
您能帮我找到一个优雅的代码来用wp数据库内容填充tinymce,这意味着要搞清楚所提到的处理吗?
发布于 2016-03-01 23:29:25
您是否尝试过在php后端端使用wpautop,然后尝试根据这些值设置内容?
有可能正在删除/删除换行符:
\n (Linux)、\r (Mac)、\r\n (Windows)等。
https://stackoverflow.com/questions/34605878
复制相似问题