aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorache <ache@ache.one>2018-04-23 21:26:13 +0200
committerache <ache@ache.one>2018-04-23 21:26:13 +0200
commit1c81ab120d123f31aa8594187230c81549765ade (patch)
treeaf380cd23f7f971a9bac1ce27473bc79ebd80873
parentAjout de remark-custom-blocks (diff)
Can use script inside a md file
-rw-r--r--public/js/script.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/public/js/script.js b/public/js/script.js
index 1bcb250..e7c836e 100644
--- a/public/js/script.js
+++ b/public/js/script.js
@@ -2,6 +2,29 @@
/* global document XMLHttpRequest */
+
+function nodeScriptReplace(node) {
+ if ( node.tagName === 'SCRIPT' ) {
+ node.parentNode.replaceChild( nodeScriptClone(node) , node );
+ }
+ else if(node.children) {
+ for ( const child of node.children ) {
+ nodeScriptReplace( child );
+ }
+ }
+
+ return node;
+}
+function nodeScriptClone(node){
+ const script = document.createElement("script");
+
+ script.text = node.innerHTML;
+ [ ...node.attributes].forEach( attr => {
+ script.setAttribute( attr.name, attr.value );
+ });
+ return script;
+}
+
document.addEventListener('DOMContentLoaded', () => {
const httpRequest = new XMLHttpRequest();
@@ -19,6 +42,7 @@ document.addEventListener('DOMContentLoaded', () => {
setMd.onreadystatechange = () => {
if (setMd.readyState === 4 && setMd.status === 200) {
document.getElementById('md').innerHTML = setMd.responseText;
+ nodeScriptReplace(document.getElementById('md'));
}
};
setMd.open('GET', a.href);