2017-12-19 10 views
0

Ich benutze zur Zeit markdown-it für meine Web-Erweiterungen zu übersetzbaren Tutorials & changelogs anzeigen. Aber Mozilla hat Sicherheitschecks, die mir sagen, dass die Verwendung von innerHTML unsicher ist. Ich frage mich also, ob es eine JavaScript-Markdown-Bibliothek (im Idealfall TypeScript) gibt, die dom-Elemente erzeugt, anstatt HTML-Text zu rendern?markdown-it Alternative, die dom-Elemente erstellt anstatt HTML-Text zu rendern

+0

[Versuchen ** jQuery ** mit] (https://jquery.com/) –

+0

Sie DOM-Elemente mit dem erstellen Web-API, Sie benötigen keine Bibliothek. – david25272

+0

Ich weiß, wie man dom-Elemente erstellt. Mein Problem ist, dass die Bibliothek "markdown-it" nur HTML-Code ausspuckt und nicht neue dom-Elemente. – Lusito

Antwort

0

fand ich eine Lösung für das Problem, das ohne die Verwendung von eval funktioniert:

// 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]); 
Verwandte Themen