'w').write(script)できあがるJavaScriptは固定の内容を出力するだけのものなんですが、それ自身が毎日違うものに入れ替わるんですから、これでもいいわけです。サーバー側は、例えばデータベースなんかを持っていて、毎日何を出せばいいかという情報を知っているわけですから、それをJavaScriptに託してブラウザに送り届けるというイメージになりますね。これを利用するHTMLは、まあそれほど今までと変わりませんし、実際に動くサンプルもありませんから、省略します。この方法は、ある程度サーバー管理の権限がある人に限られるんですが、条件にあてはまれば、使えるときがあるでしょう。21:15JavaScriptの実用例(3)Tweet広告を非表示にする2013-10-22JavaScriptの実用例(2)前回、HTML文書の中にJavaScriptを混在させて、その実行結果がHTMLの一部になって表示に使われるという話をしました。document.writeで出力する内容は、HTMLのタグが混じっていても大丈夫です。下のようなものを書いても期待通りに動きますよ。Aタグの書き方は知っているという前提で、そこは詳しく説明しませんが。do</body></html>(実際のサンプル)でも、実際のところ、これだけでは大して役に立ちません。document.writeで決まった文字列を出力させるくらいなら、最初から全部HTMLで書いておけばよかっただけですからね。このJavaScriptの部分を、別のファイルとして独立させてしまうと、ちょっとは役に立てられそうな気がしてきます。直前の例なら、下のような二つのファイルに分けてしまうんです。href="http://w3c.org/">world</a>');ひとつめにはHTMLだけ、ふたつめにはJavaScriptだけ書かれています。HTMLの途中には、「ここにはsample2.jsっていう外部スクリプトを読み込むよ」っていう意味のscriptタグが書いてあります。Webブラウザの上でHTMLのほうを表示させると、内部的にJavaScriptも指定位置に読み込まれて、その内容が実行されるというわけです。実行結果は直前のと同じですが、一応見ておきましょう。(実際のサンプル)もしもHTMLが割と大きなもので、毎日ちょっとだけ決まって更新される部分があるとします。なんかをトップページの決まった位置に表示したくなったときなんかどうでしょう。制約条件として、トップページ自体は、PHPのようなものでなく、素のHTMLだとします。ろくな変化がないってのも例としてはおかしいんですが...)そんな場合の対応策のひとつとして、HTML内の、新たに表示を足したい部分にscriptタグを書き足します。それが読み込む外部JavaScriptには、例えば下のような命令が書かれているようにするわけです。document.write('本日の閉館時間は、午後4時30分です。大きなHTMLファイルを操作ミスで壊してしまうのは怖いですから、そこらへんも安心感が増します。ページ全体をPHPみたいなサーバーサイド生成のものに変更する必要も、ひとまずはなくなりました。ところで、直前のJavaScriptの例は、日本語が混じっています。日本語をこうして扱うことは全く問題ありませんが、JavaScriptのファイルエンコーディングがちゃんと把握されているか、そこは少し注意が必要です。下のように、例えばsample3.jsという外部スクリプトを使おうとして、それがUTF-8でエンコードされている場合は、明示的に下のように書くのが適切です。charset="utf-8"></script>適切...といえば、今までの例で、単純に書こうとしていくつか適切さを犠牲にした部分がありましたので、そこは改めて書いておきます。ひとつは、HTMLをもう少し丁寧に書いたほうがいい件。HTML宣言とかmetaタグとかtitleタグとかを書き足しておきましょう。文字のエンコーディングも、UTF8ならUTF8とはっきり宣言しておかなくてはいけません。ひとつは、scriptタグは、スクリプトの内容がJavaScriptであることを本来は明示しなければいけないこと。いう属性をちゃんとつけておくべきです。ひとつは、document.writeしたあとは、本来、document.closeで書き出し終了を宣言しなくてはいけない、とされている件。省略しちゃってもたいていは問題なく動くのですが、余計なトラブルで悩まないように、これも書き足しておくといいらしいです。JavaScriptを外部から読み込んで実行するHTMLと、そのJavaScriptのセットは、下のようにするのがより適切です。href="http://w3c.org/">world</a>');document.close();ちょっと七面倒な雰囲気になっていますが、本質はさっきまでの単純なやつと変わりません。これ見ると、目がくらんでどこが重要かわかんなくなっちゃいそうでしたから。JavaScriptファイルだけをまめに更新することにしてちょっと楽できる、ということが実現できると、やがて次のような望みに育っていきます。毎日お決まりの内容に更新されるような部分だったら、JavaScriptの内容に工夫を加えて、手で毎回更新するまでもなく、もっと自動的に賢い動作をするようにできないか、ということです。JavaScriptは「プログラム言語」なんですから、当然そういったことがいろいろできますよ。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。