javascirpt関連のちょっとした情報紹介です。
個人のwebサイトではあまり役立たない話かも。
javascriptでローカルPC上に情報を保持する方法には、ながらくcookieが使われてきました。
しかし最近の高機能なwebサイトでは、ちょっと対応が難しくなってきています。
そんな状況の解決策として、HTML5 規格では「DOM Strage」という仕様が策定されたのですが、
「まあ、対応ブラウザがシェア90%くらいに普及しないと使えないよな...」と諦めモードでした。
ところが、なんとIE 6で動作するDOMストレージのライブラリが公開されている! というではありませんか。
実際に使うためには、ブラウザ判定を行う必要があったりするので
個人サイトではそこまで必要か?ってなっちゃうと思いますが。
ビジネス用サイトでは まだまだIE 6に対応しないとクレームになったりしちゃうので、こういった解決策は助かります。
そう言えば、昔、私がローカルデータ保存のために取った方法は...
管理用の小さい別ウィンドウを開き、display: none;の領域にデータを書き込んでおく、というものでした。
IE 5の頃ですが、仕事とは言え、今思いだしても良くあそこまでやったもんだと思います...
自作ライブラリ?の紹介です。 オリジナルは2000年ころに作ったもの。
今となってはあまり価値はありませんが、ご自由に使ってください。
汎用 | |
lazylib_text_dom |
対象が文字列ならDOM idとみなしてDOMオブジェクトを取得する. @param target Sting (DOM id) @return DOM object |
---|---|
URL文字列操作 | |
lazylib_text_crop_after |
文字列から、指定文字以降を除去する(実装). @param url String 文字列 @param url String 文字指定(?、#など) @return String 変換後(削除後)の文字列 |
lazylib_text_remove_urlname |
URL文字列から #以降(jump先)を除去する. @param url String URL文字列 @return String 変換後のURL文字列 |
lazylib_text_remove_urlparam |
URL文字列から ?以降(cgiパラメータ)を除去する. @param url String URL文字列 @return String 変換後のURL文字列 |
文字変換 | |
lazylib_text_convert_zh_space |
文字列に含まれる全角スペースを半角へ変換する. @param text String 変換前の文字列 @return String 置換後の文字列 |
lazylib_text_convert_hz_kkana |
文字列に含まれる半角カナを全角カタカナへ変換. @param text String 変換前の文字列 @return String 置換後の文字列 |
lazylib_text_convert_hz_hkana |
文字列に含まれる半角カナを全角ひらがなへ変換. @param text String 変換前の文字列 @return String 置換後の文字列 |
lazylib_text_convert_hz_number |
数字を半角から全角へ変換する. @param text String 変換前の文字列 @return String 置換後の文字列 |
lazylib_text_convert_zh_number |
数字を全角から半角へ変換する. @param text String 変換前の文字列 @return String 置換後の文字列 |
lazylib_text_convert_kanachouon_zh |
カナ長音「ー」を半角ハイフン「-」に変換する. (半角カナの長音ではなく、ハイフンへ変換する点に注意) @param text String 変換前の文字列 @return String 置換後の文字列 |
lazylib_text_convert_hz_alpha |
半角英字を全角へ変換する. @param text String 変換前の文字列 @return String 置換後の文字列 |
lazylib_text_convert_zh_alpha |
全角英字を半角へ変換する. @param text String 変換前の文字列 @return String 置換後の文字列 |
lazylib_text_convert_hz_alnum |
半角英数字を全角へ変換する. @param text String 変換前の文字列 @return String 置換後の文字列 |
lazylib_text_convert_zh_alnum |
全角英数字を半角へ変換する. @param text String 変換前の文字列 @return String 置換後の文字列 |
簡易文字判定 | |
lazylib_text_is_h_number |
指定した文字列が半角の数値(記号を含まない整数)かどうか. @param text String 調査対象の文字列 @return boolean 数値[0-9]*の場合true |
lazylib_text_is_h_alnum |
指定した文字列が半角英数字のみかどうか. @param text String 調査対象の文字列 @return boolean 半角英数の場合true |
それぞれの関数のソース自体は短いので、直接コードを読めば詳細は分かると思います。
自作ライブラリその2。 オリジナルは2003年ころだと思いますが、いろんな案件で使い続けて今に至ります。
最近ではカレンダーUIで日付を入力できるライブラリなんかもあったりしますが、
昔は年月日をドロップリストで入力するのが常でした。
その際、面倒なのが「月ごとに選択できる日にち(末日)を変える」処理なんですよね。
汎用 | |
lazylib_dom |
対象が文字列ならDOM idとみなしてDOMオブジェクトを取得する. @param target Sting (DOM id) @return DOM object |
---|---|
lazylib_select_value |
selectタグの現在の選択値を取得する. @param target Sting (DOM id) またはDOMオブジェクトを直接渡しても可 @return String 選択なしなどの場合、空文字列を返します。 |
日付関連 | |
lazylib_get_lastday |
指定した年月の月末日を取得する. @param y 西暦年 @param m 月 (1~12) @return Number 末日 |
select optionの要素操作 | |
lazylib_display_select_options |
セレクトタグの指定範囲のoptionを表示し、他を隠す. @param target Sting (selectのDOM id または DOMオブジェクト本体) @param from Number 表示開始インデックス @param to Number 表示終了インデックス (個数ではない) @return Number 表示変更後のselectedIndex |
こちらのライブラリは説明というか、サンプルコードが必要でしょうかね。。。
← <select id="test"> |
|
年
月
日 日にちの部分は ↑ <select id="day"> |
あらかじめこんな感じの関数を作っておいて、 年と月のonchangeイベントに設定してあります。 |
あまりないと思いますが。。。IE4や特殊な海外製ブラウザなどでは、
ソースコード内の日本語コメントが原因で誤動作することがあるようです。
ダウンロードした .jsファイルは、コメントを削除して使用した方が良いかも知れません。