TextboxでのScriptタグの処理
それぞれのmdファイルには、styleタグとscritpタグが書かれていることもある
styleタグは何もしなくても読み込まれたら反映される
scriptタグはそうはいかない
解決策
読み込んだmdファイルにscriptタグが含まれていたら、それを今表示しているページ(index.html)のScriptとして追加する
code:sample.js
//スクリプトの読み込み
//targetareaは、fetchした内容を設定するdivなどになる
function readScript(targetarea){
var addScript = document.querySelector("#" + targetarea + " > script")
if (addScript){
if (document.getElementById("temp")){
document.getElementById("temp").remove();
}
var loadscript = document.createElement('script');
loadscript.id = "temp"
loadscript.innerHTML = addScript.innerHTML
document.body.appendChild(loadscript);
}
}
やっていること
読み込み領域内にScriptタグがあるかを確認
なければ何もしない
あるならば
tempというIDの要素の存在を確認し、存在するならそれを消しておく
その後Scriptタグを生成し、その中身を先ほど確認したScriptタグと同じ中身にする(tempというIDも付与する)
そのScriptタグbodyに追加すると、そのタイミングでScriptが実行される