還有就是我想在這裏追蹤一個錯誤:https://github.com/OscarGodson/EpicEditor/issues/184#issuecomment-8805982集字符集meta標籤使用JavaScript
基礎上的所有信息是似乎喜歡它是因爲瀏覽器默認爲用戶的本地字符集(在此情況下,ISO-8859-1
)而不是UTF-8
像我的機器和美國其他人。我猜測,一個解決辦法是使用HTML,迫使編碼UTF-8
有:
<meta charset='utf-8'>
或
<meta http-equiv='Content-Type' content='Type=text/html; charset=utf-8'>
然而,JS是行不通的。在第一個例子:
charsetMetaTag = self.editorIframeDocument.createElement('meta');
charsetMetaTag.charset = 'utf-8';
self.editorIframeDocument.getElementsByTagName('head')[0].appendChild(charsetMetaTag);
我剛剛得到以下注入到DOM:
<meta>
而在第二個例子中,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);
我得到以下HTML:
<meta content="text/html; charset=utf-8">
是的,我需要動態地創建iframe來動態創建。這可能不是問題,但這就是它的樣子。唯一的「黑客」我能想到的是某種使用的innerHTML的...