自適日記のページを、フレームを使わずに、URL の後ろを利用してパラメータの受け渡しをする方法に変更。フレームを使わなくしたので、NN6 でもスクロールバーが表示されるようになった。また、各日の日記にダイレクトにリンクが貼れるようになった。
クッキーを利用したパラメータの受け渡しは、まだよく分からないけれど、URL の後ろを使う方法でも同じようなことができるので便利だなぁ。
html タグも、head タグも、body タグもないページ。結構発見かもしれない。HTML ファイルの中身のほとんどを JavaScript のコードにしておき、その HTML 文書を1ページまるまる JavaScript で生成しようと思うと、head タグや body タグの位置が少々煩わしくなってくる。もともと head タグと body タグがそのファイルには記述されているので、各タグ内に記述したい内容は、各タグの中で個別に JavaScript で記述しなければいけない。そうしてもいいのだけど、もしこれらのタグを無視して書くことができたら、もっと簡潔に書くことができる。
先日から苦心しているこのページ。生成されたコードを見てみると、なぜか html、head、body の各タグが2組ずつある。よく調べてみると、自らのフレーム(開いているファイル)を document.open や document.close しても、それらは意味がないらしい。でも、それでちゃんと表示されているということは、もしかすると head タグや body タグがなくても正しく表示されるのでは?そう思って試してみたら、予想通り問題なく表示された。文法的には、多少問題があるかもしれないけど、文法を守っても動かないことも多いのだから、少々行儀がわるくても、思い通りに表示される書き方は、そんなに悪いことではないかもしれない。ともあれ、やっといい記述方法を見つけたので、しばらくはこれを使おうと思う。
一難去ってまた一難。昨日はうまくいったと思ったのに、他のところで不具合がでていた。
どのブラウザでも意図した通りに表示させるのは、思ったよりも難しい。特に新しい機能を使っていると。機能的で、保守性もよいページを作りたいし、でも、古いブラウザを使っている人にも見てもらいたいし…。
結局、すべてのページを連動させて、ページを生成させて表示するというのは、ブラウザとの相性の問題から、今のところはまだ実用的ではないという結論にたどりついた。JavaScript をそんな使い方で使う人は少ないと思うけれど。単独の HTML ファイルでは画面が表示されないのでは、外から、コンテンツ・ページ毎にリンクが貼ってもらえず、そのことのデメリットの方が大きいと思うようになった。
トップページをフレームで表示するかどうかも、今まではあまり深くは考えていなかったけど、フレームを使わなければ、リンク先の各ページに名前がつけられる。ブラウザの移動履歴にもこの名前が表示されるので、これは結構便利かもしれない。
コンピュータに相当詳しい人の個人用のページが、(技術的に)意外にもとてもシンプルで、驚くことが時々あるけど、突き詰めていけば、ああいう形が、ある意味一番いいページなのかもしれないなあ。
NN6 でスクロールバーが表示されない原因が分かった。他のフレームから JavaScript で書き換えた場合は、スクロールバーがなぜか表示されないみたい。もう対応策は思い付いたのだが、煩雑になって面倒そう。これは NN6 のバグだと思われるので、ブラウザのバージョンアップを待つことにしよう。
まだいくつか未解決の小さな不具合が残っているけど、JavaScript でページを動的に生成する方法については、これで大体分かった。あとは、実際に掲載する作品の方を作らないと。
NN の「戻る」ボタンで戻れないのは、location.href を使わずに A タグを使うことによって解決できた。おまけに、相対ディレクトリの元となる位置が IE と異なる不具合も解消した。
あとは NN6 でスクロールバーが表示されないのと、NN4.x で、たまにスタイルシートの定義部分が表示されてしまうのを何とかしたいなぁ。
このホームページ、なんとか NN6 で表示されるようになったけど、NN6 では、JavaScript で生成されたページのサイズがウィンドウサイズより大きくても、縦スクロールバーが表示されないみたい。これだと、ホイールマウスなどのマウスでないととても読みにくくなってしまう。まだ NN6 に慣れていないから、もしかするとオプションの設定で直せるのかもしれないけれど。
大学のサーバへ届いたメールを転送すると、大学のサーバにはメールが残らないみたい。あと、複数のアドレスへ転送する方法はあるのかな。今度調べてみよう。
FireWall ソフトを入れてみた。どのプログラムがデータを送受信しているのかが分かってちょっと面白い。
それで、なぜか分からないけど NOTEPAD.EXE がデータを送受信しようとしているみたい。その必要のないソフトだと思うんだけど・・。
NN では、リンクを右クリックしたときに「リンクの場所をコピー」というのが使えて便利そう。
NN6 でこのページを表示させてみたけど、うまく表示されなかった。NN4.04 でも JavaScript のエラーが出てしまうみたい。
Telnet で学校の SMTPサーバに繋いでメールを送ってみた。たしか以前メールソフトで学校のサーバから送ったときは、From は学校の E-Mail アドレスでしか送れなかったと思うけど、今回は mail from: を適当なものにしても送ることができた。直接 SMTP サーバから送るときはチェックされないのかな。
その後、HTTP のポート(8086 の方)に繋いでホームページを見ようと思ったけど、途中でエラーが出てうまくいかず、HTML のタグが少し表示されただけだった。
ブラウザの [CTRL]+[Z] で「やり直し」の動作は、[ESC] で文章を消してしまった時には働かないらしい。せっかく書いた長文が消えてしまったときは、かなりショックなんだよなぁ。
検索エンジンに登録した。フレームと JavaScript でページを生成しているので、うまくロボットに拾われるかどうか。どう拾われるか、技術的にもちょっと楽しみ。
ブラウザの種類やバージョンなど、サーバへ渡される情報はブラウザが渡しているのだろうから、外部のプロキシサーバ等を介さなくても渡す情報を変えることはできるのではないかな。ホスト名などはともかく、リンク元などは変えられる気がする。
ダイヤルアップ接続の場合、電話線の長さが長いほど接続速度が遅くなるらしいけど、今日試してみたところ、10mのケーブルでも2mのケーブルでも同じ速度だった。長いケーブルによる損失は結構大きいのではと思っていたので意外だった。
大学のメールアドレスへ届いたメールを転送することができた。方法は、各キャンパスのサーバにログインし、各自のホームディレクトリに .forward というテキストファイルを作り、その中に転送先のアドレスを書いておく。学校のメールアドレス宛てに届いたメールを携帯などで確認できるので便利そうだ。
ホームページで、動的に HTML のコードを生成するには、CGI/SSI を使う方法と JavaScript などを使う方法があるけど、ソースコードを完全に隠蔽するには CGI/SSI しかないみたいだ。ソースを隠蔽するしないにはいろいろあると思うけど、隠蔽できた方が便利なことも確かにありそうだし。
以前 index.html ファイルのソースを見るとすでにアクセスカウンタの数値が書きこまれているページがあって、どうやって実現しているのかなあと思っていたけど、多分 SSI を使っていたのかぁ。最近ようやく分かった。
うちの学校でもメールの転送ができるかもしれない。まだ試していないけど、もしできたらちょっと便利になりそうだ。