cljs ファイルに次のコードがあります。
(def template
"<script type=\"text/javascript\">
console.log(\"The script was run\");
</script>")
(defn add-script []
(let [s (js/document.createElement "div")]
(set! (.-innerHTML s) template)
(js/document.head.appendChild (.-firstChild s))))
(明らかに、実際のスクリプト テンプレートの内容はこれとは異なりますが、これは問題を示しています)
add-script が実行された後にドキュメントを見ると、案の定、スクリプト テンプレートがコードに挿入されています。問題は、コードが実際に実行されていないことです。これが単なる js の場合は、単純にテンプレートを評価します。ただし、Clojurescript には eval がないので、script タグを使用して JavaScript テンプレートのコンテンツを動的に追加しようと考えました。
これを機能させるにはどうすればよいですか。具体的には、動的に挿入した後にスクリプト テンプレートのこれらのコンテンツを評価するにはどうすればよいですか?