実行されないのは標準の挙動 (仕様通り) です。 実行条件は 4.11.1 The script element に記載されていますが、script 要素の src や async などの属性の有無や、script 要素の生成方法など、様々な条件を網羅して記述されているため、きちんと読むのは正直結構しんどいです。 ただ、innerHTML を使ったケースでは「実行されない」という結果については、ちょうど Note に記述されています: Note: When inserted using the document.write() method, script elements execute (typically synchronously), but when inserted using innerHTML and outerHTML attributes, they do not ex