JavaScriptとは何か?
JavaScriptとは、Netscape社が開発した、ブラウザ上で動作する簡易言語である。
Internet Explorerでも動作するのだが、実装仕様にいろいろと違いがあるため、
同じスクリプトを書いても同じ動作をするとは限らない。つまり、Internet Explorerと
Firefoxで表示が異なるとか、片方だけでしか動かないという事態が結構起こる。
このため、ブラウザの名前やバージョンを判別してルーチンを分けなければならない
ケースが多発しており、制作者を悩ませるタネとなっている。なお、スクリプトの書き方
次第でイタズラができたりしてしまうので、セキュリティ上問題があるともいえる。
JavaScriptサンプル集
例1. 今日の日付を表示
(解説) まずは、今日の日付を表示させるというだけの簡単なJavaScript。
例2. 現在の時刻を表示
(解説) これも、現在の時刻を表示させるというだけの簡単なJavaScript。
例3. ブラウザ名を表示
(解説) ホームページを開いた瞬間、時刻とともにブラウザの名前を出されてしまってビビることがある。
Javascriptのnavigator.userAgentには、使っているブラウザの名前が入っているので、
Javascriptを使うことで比較的簡単にブラウザ名を表示させることができる。
例4. 背景色を変更する
(解説) ボタンをクリックすると背景色が変化する。
例5. 文字色を変更する
(解説) ボタンをクリックすると文字色が変化する。
例6. 画面の背景色の点滅*
*注) 下のボタンを押す前に
人によっては気分を悪くする可能性がある。自己責任のもとで行うこと。
何度もやっていると、本当に気分が悪くなるかもしれないので、ほどほどに。
(解説) アニメ番組などの冒頭で「テレビを見るときは部屋を明るくして離れてみよう」の
テロップが流れる原因となった、某アニメで使われた技法「パカパカ」の再現
(但し、背景色を点滅させるインターバルの間隔は適当)。
このように、スクリプトの書き方次第ではヤバい事も出来てしまうので
セキュリティ上問題があるともいえる。
例7. 平方根を計算する
(解説) 平方根を計算する。
例8. xのn乗を計算する
(解説) xのn乗を計算する。
例9. 指定した日付の曜日を調べる
年(4桁)、月、日を入力してボタンをクリックして下さい。
(解説) 指定した日付の曜日を調べる。
例10. 解読不能パスワード
(解説) ごく簡単なパスワード認証のページを作ってみた。
ここでテキストフィールドに入力するのはパスワードというより、
次にジャンプするファイル名から拡張子を除いた部分である。
JavaScriptでパスワードを処理すると、ソースを覗かれた時に
ばればれという話をよく聞くが、入力された文字列を分岐先のファイルに
することで、ソースの中にパスワードを書かずに処理している。
これはこれでひとつのプロテクトにはなる。
なにしろ、ファイル名が解らないことにはジャンプのしようがないし、
パスワード入力ページ自体にはパスワード文字列は入っていないから盗まれようがないが、
ブルートフォースでは破られる可能性がある。
ところで、ジオシティーズやFC2等のレンタルサーバでは規約上全てのページは
リンクをたどっていくことができなければならないという条件があり、隠しページを
置くことはできない。従って、このサイトには隠しページは存在しないので探しても特に意味はない。
それでは、試しに以下のキーワードをテキストフィールドに入力してみよう。
- si
- htmlgenerator
- latexgenerator
- determinantcalculator
- rotationcalculator
- maclaurin
- maclaurinanimation
- taylor
- taylor2
- fourier
- infiniteproduct
- tartagliacardano
- quaternion
- lagrange
- doublependulum
- logisticmap
- gumowskimira
- simplependulum
- vanderpol
- lotkavolterra
- lorenz
- ellipse
- hermite
- chebyshev
- gramschmidtlegendre
- sturmliouville
- betagammazetaeta
- gamma2
- bernoulli
- faulhaber
- bernoullitaylor
- bernoullizeta
- stdev
- distribution
- moment
- coupon
- linest
- linest2
- linest3
- linest4
- linest5
例11. セレクトメニューをリンクに使う
(解説) プルダウン式のメニューから項目を選び、ボタンクリックでそのページにジャンプするというスクリプト。
これを使うと、リンクの設置スペースを省略できるだけではなく、リンクを増やしたり減らしたりしたときにも
ページ全体のデザインを考える必要がなくなる。ページのデザインをシンプルにできるので人気の高いテクニックである。
例12. 正規表現で文字列を検索・置換する
(解説) テキスト欄に含まれるテキストを正規表現で検索し置換するサンプル。
置換後、元のテキストが存在したテキスト欄に結果を上書き表示する。