簡體   English   中英

markdown-it替代方案,它創建dom元素而不是呈現HTML文本

[英]markdown-it alternative that creates dom elements instead of rendering HTML text

我目前正在將markdown-it用於我的網絡擴展程序,以顯示可翻譯的教程和變更日志。 但是Mozilla進行了安全檢查,告訴我使用innerHTML是不安全的。 所以我想知道是否有一個JavaScript(理想的TypeScript)markdown庫可以創建dom元素而不是呈現HTML文本?

我找到了一種無需使用eval即可解決的問題的解決方法:

// This was the old code:
container.innerHTML = md.render(value);

// This is the new code:
const domParser = new DOMParser();
const doc = domParser.parseFromString(md.render(value), 'text/html');
removeAllChildren(container);
for(let i=0; i<doc.body.childNodes.length; i++)
    container.appendChild(doc.body.childNodes[i]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM