我试图在这里找到一个错误:https://github.com/OscarGodson/EpicEditor/issues/184#issuecomment-8805982
基于所有信息,它似乎是因为浏览器默认为用户的本机字符集(在这种情况下ISO-8859-1),而不是UTF-8像我的机器和美国的其他人.我猜测修复是使用HTML来强制编码UTF-8:
<meta charset='utf-8'>
Run Code Online (Sandbox Code Playgroud)
要么
<meta http-equiv='Content-Type' content='Type=text/html; charset=utf-8'>
Run Code Online (Sandbox Code Playgroud)
但是,JS不起作用.在第一个例子中:
charsetMetaTag = self.editorIframeDocument.createElement('meta');
charsetMetaTag.charset = 'utf-8';
self.editorIframeDocument.getElementsByTagName('head')[0].appendChild(charsetMetaTag);
Run Code Online (Sandbox Code Playgroud)
我刚刚回到注入DOM的以下内容:
<meta>
Run Code Online (Sandbox Code Playgroud)
在第二个例子http-equiv中没有设置:
charsetMetaTag = self.editorIframeDocument.createElement('meta');
charsetMetaTag['http-equiv'] = 'Content-Type';
charsetMetaTag['content'] = 'text/html; charset=utf-8';
self.editorIframeDocument.getElementsByTagName('head')[0].appendChild(charsetMetaTag);
Run Code Online (Sandbox Code Playgroud)
我得到以下HTML:
<meta content="text/html; charset=utf-8">
Run Code Online (Sandbox Code Playgroud)
是的,我需要动态地动态创建iframe.这可能不是问题,但这就是它的样子.我能想到的唯一"黑客"是以某种方式使用innerHTML ......
不知道这是本身的实际问题,但我使用史诗编辑器输入和保存降价在我的GAE应用(webpy与灰鲭鲨作为模板引擎).
我在表单中有一个隐藏的输入元素,当我提交表单时,EpicEditor的内容会填充,但所有的空格都被替换 .这是预期的功能吗?如果我在EpicEditor网站上检查相同的代码,它显然会返回空格而不是 那么我的不同之处是什么?
<form>
<!-- form elements -->
<input id="content" name="content" type="hidden" value></input>
<div id="epiceditor"></div>
<button type="submit" name="submit" id="submit">submit</button>
</form>
<script type="text/javascript">
$('button#submit').click(function(){
var content = editor.getElement('editor').body.innerHTML; //all the spaces are returned as and breaks are <br>
$('input#content').html(content);
});
</script>
Run Code Online (Sandbox Code Playgroud)
注意:我想在我的数据存储的TextProperty字段中将我的内容保存为markdown,并在使用marked.js检索它时生成html标记