我有一个textarea tiny_mce,例如
<textarea id="Textarea1" name="abc" rows="15" cols="80" style="width: 80%">
</textarea>
我想在页面加载中设置它。 如果我添加runat服务器,这将改为&#34;纯textarea&#34;这不是tiny_mce控制。 如何设置c sharp的内容?
答案 0 :(得分:1)
请记住,TinyMCE是一个基于JavaScript的编辑器,在客户端中100%运行 - 没有服务器端API可与TinyMCE通信。
加载内容的API是一个在浏览器中运行的JavaScript API:
https://www.tinymce.com/docs/api/tinymce/tinymce.editor/#setcontent
如果要使用此API,则需要将数据从服务器传递到浏览器,然后使用该数据调用setContent()
。您可以将数据抛出到JavaScript变量中,进行AJAX调用以在页面加载时获取数据 - 您有多种选择。
如果您想要执行此服务器端,唯一的选择是将HTML放在<textarea>
标记内。类似的东西:
<textarea>
<p>text &lt; text</p>
</textarea>
这种方法的一个主要复杂因素是您放在<textarea>
中的HTML需要像上面的示例一样进行转义。使用setContent()
API时,这不是必需的。
更新:如果刷新有时会使这项工作有时间问题 - 您可能会在编辑器初始化之前尝试使用TinyMCE API。如果您的目标是在加载TinyMCE时加载内容,您可以在TinyMCE配置中使用类似的内容:
setup: function (editor) {
editor.on('init', function () {
// Your AJAX call to get the content
this.setContent(variableWithTheContent);
});
}
在初始化编辑器之前不会调用此函数,因此您可以确保setContent()
之类的API在此时起作用。