JavaScript: innerHTML したときに中に含まれる script が実行されない件

JavaScript: innerHTML したときに中に含まれる script が実行されない件

function setInnerHTML (node, text) {
  node.innerHTML = text;
  let script = node.querySelectorAll ('script');

  if (script.length) {
    let
      doc = node.ownerDocument,
      org = doc.createElement ('script');

    for (let s of script) {
      let new_script = org.cloneNode (false);
      new_script.textContent = s.textContent;
      s.parentNode.replaceChild (new_script, s);
    }
    
    org = null;
  } 
}

ノードに innerHTML で挿入した後、その中から script ノードを抜き出す。
新しく作ったノードに中身をコピーして、元の script ノードと置き換える