Skip to content

Commit f0e0803

Browse files
committed
pod2html: fix rendering in chrome
Elements that are part of a DocumentFragment don't seem to have a working outerHTML property in Chrome.
1 parent d3785c2 commit f0e0803

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

root/static/js/pod2html.mjs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ if (pod2htmlForm) {
1414
const error = document.querySelector('#metacpan-pod-renderer-error');
1515
const template = document.querySelector('#metacpan-pod-renderer-content');
1616

17+
const parseHTML = (html) => {
18+
const template = document.createElement('template');
19+
template.innerHTML = html;
20+
return template.content;
21+
};
1722
const updateHTML = async (pod) => {
1823
if (!pod) {
1924
pod = textInput.value;
@@ -47,8 +52,9 @@ if (pod2htmlForm) {
4752
document.title = "Pod Renderer - " + data.pod_title + " - metacpan.org";
4853

4954
const body = template.content.cloneNode(true);
50-
body.querySelector('.toc-body').outerHTML = data.pod_index;
51-
body.querySelector('.pod-body').outerHTML = data.pod_html;
55+
body.querySelector('.toc-body').replaceWith(parseHTML(data.pod_index));
56+
body.querySelector('.pod-body').replaceWith(parseHTML(data.pod_html));
57+
5258
rendered.replaceChildren(body);
5359

5460
formatTOC(rendered.querySelector('nav'));

0 commit comments

Comments
 (0)