アニメ感想系リンク集 JavaScript版(重いよ)
実験中。もともとExcelで作成はデータ打ち込みのあと自動的にHTML文書書式で出力できるようにはしてあるのですが、1000サイト以上登録されていて、検索機構のないリンク集というのはどうなのかと思ってはいたのですが、やる気がないのと、データが最新になってないという段階でいじるのは何だかなーということで、今まで放置されておりました。
ところが、先週新規サイトは追加しないまでも、登録済みサイトのメンテが終了したので、データベース的には使ってみたくなったので、ここ数日JavaScriptと格闘しておりました(はよアニメ映画の感想書け)。
リンク集というのは、HTML文書的に共通部分が多く、<A HREF="〜">〜</A>といったものの〜部分が変更されて繰り返されているだけなので、ここをプログラム的に書いてしまえば、ページ容量が減るのではないかと、さらにJavaScriptであれば、CGIやPHPより検索がすばやいから、利便性もあるかも! …という安易な考えで進めたJavaScript版リンク集でしたが、
現状、HTML版:103KB、JavaScript版:179KB…。JavaScript版の方が倍近く容量が大きい… orz。
元々不慣れ&久しぶりのJavaScriptということで、ソースが汚いのももちろんありますが、リンク集になる前のサイトデータを貼っただけで、HTML版より重いというからどうしようもない感じ。サイトデータが多すぎるせいか、IEで実行すると警告が出たり、CPU100%行きとかもしちゃうし…。一度表示されればさくさく動かせるので、表示後はサーバーサイドのやつ(CGI、PHP)よりは軽快かと思うのですが…。
主な機能としては、 ●表示結果を絞り込めるようになりました。 ●リンクを開く際、「同一のウィンドウ」「新しいウィンドウ」の設定をあらかじめしておけるようになりました。
以上…。フリーワード検索の実装方法をまだ調べてないので、今のところジャンル検索のみです。ただ、キャプ系にも設置ブログ情報を追加したので(URLから自動取得&目視)、たとえば「FC2ブログのキャプ系」という調べ方も可能です。
また、URLに引数を入れられるので、検索結果ページにも直接アクセスできます。
ex ) http://www2.pure.cc/~mikimomo/home/link_kanso_javascript.html?1,2,08,,03,1 公開/キャプ/多め/FC2/新しいウィンドウで開く
さらに隠しコマンドとして、7つめのキーに「1」を入れると、サイトの登録情報が確認できます。
ex ) http://www2.pure.cc/~mikimomo/home/link_kanso_javascript.html?1,2,12,,03,1,1 登録情報開示モード
サイト名のよみがなが適当なのがバレるのであまり見て欲しくない気もします…。
あと便利なところとしては、JavaScript―つまりクライアントサイド―での動作なので、ダウンロードしてもそのまま動く…と思われます。重すぎるのは…改善できる気がしません。
●今後の課題
・フリーワード検索 ・レイアウト調整(TABLEで組まなかったので3カラムが難しい) ・文−ブログ サイトの内容登録(ブログ情報を別にしたので)
●さらなる展望
・PHP版の作成(PCによってはPHPの方が速そう) ・データ部をPHPで取り込み、PHP+JavaScript版の作成(データ部を共用に)
ここのところPHPをいじる機会の方が多かったので、JavaScriptを使うとできないことの多さに困りました…。キー(添え字)と値を逆転させた配列を作るとか、文字列からタグ文字を抜くとか、キーを文字列にした場合の中身の取得とか…、あと配列内配列がうまく作れなくて苦労した。できるんだけど一工夫いるみたいな感じ?
あとはPHPと違って、出力されたHTML文書を見られなかったり、エラー箇所がPHPより明確に教えてくれなかったりとか、書く方としてはめんどくさい。
とりあえずFirefox3と、IE7、Google Chromeでの動作確認はしました。Netscape Navigator3.01では無理でした。動かないブラウザがあるかも知れませんが、環境がないので確認も修正もできないかと…。でも動かない情報はほしいです。つかGoogle ChromeでのJavaScript実行速ぇ。こうなるとIE7は何でCPU100%行っちゃうんだろう…って感じに…。まぁJavaScript書いた方としては、行っちゃっても仕方ないかなーと思わなくもないですけど。Excelだったとしてもそこそこ重い計算に思える…ってこっちもMicorosoftじゃん!
簡易メッセージが死んでるけど、ご意見とかありましたらメール等でお願いします。
|