回答編集履歴

1 追記

kei344

kei344 score 52426

2018/12/31 14:07  投稿

> 外部ファイルに変数を指定すると途中実行するスクリプトに支障が出ます。
最近の書き方をしたJavaScriptでは、特別な事情が無ければ`document.write` を使わないから、特に問題になりません。
変数の定義の順番については書き方によって支障が出ますが、そこは定義順に左右されないように組めばよいです。
最近の書き方をしたJavaScriptでは、特別な事情が無ければ`document.write` を使わないから、特に問題になりません。(外部スクリプトの変数を、DOMを辿って書き換えをするから、外部スクリプト側だけで完結できる)
【document . writeはやめて、innerHTMLを使おう | Web Developers Antenna ウェブ開発者アンテナ [W'ANEB]】
[http://web.antenna.work/innerhtml/](http://web.antenna.work/innerhtml/)
【innerHTMLの代わりにinsertAdjacentHTML()を使ってみようか。(DOMおれおれAdvent Calendar 2015 01日目) | Ginpen.com】
[http://ginpen.com/2015/12/01/insertadjacenthtml-instead-of-innerhtml/](http://ginpen.com/2015/12/01/insertadjacenthtml-instead-of-innerhtml/)
Google も言ってますね。
【サイトで document.write() を使用しない  |  Tools for Web Developers  |  Google Developers】
[https://developers.google.com/web/tools/lighthouse/audits/document-write?hl=ja](https://developers.google.com/web/tools/lighthouse/audits/document-write?hl=ja)
【Intervening against document.write()  |  Web  |  Google Developers】(上記記事のリンク切れしている英語記事)
[https://developers.google.com/web/updates/2016/08/removing-document-write](https://developers.google.com/web/updates/2016/08/removing-document-write)

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る