Tuesday, July 1, 2008

made CharRange

prototype.js ベースの DOM/MSDN 対応Selectionクラスを作成しました。
TextRange Selection getRangeAt などクロスブラウザでお悩みの方には 何かの役に立つのではないかと思われます。

サイト:syany valley
ファイル:CharRange
ドキュメント:doc
CharRangeといいます。

使い方は結構簡単で

var range = new CharRange.Selection();
alert("Range: "+ range.selection());


で選択範囲内文字列を取得できます。

一応W3Cにあるようなポジションを変更したり、クローンを作れるようにはできています。
詳しくはドキュメント/ソースをご覧ください。

ちなみにOpera以外なら、選択文字列にタグを挿入することもできます。

その場合は Selection.Modifyクラスを使用して

var range_mod = new CharRange.Selection.Modify();
range.selection();
// マーカー赤にする
if (range.length()) range.update('span', {background: '#FF0000'});


とすると、選択範囲文字列背景をリアルタイムに赤に変化させます。

いかがでしょか?

作成する際に様々なサイト様にお世話になりました。
この場を借りて御礼申し上げます。

daily dayflowerさま
ArchivaさまChronicle it.さま
各仕様
W3C Document
Msdn TextRange
Mozilla Selection

いくつかW3C規定でない関数名になってしまっているのですが、、、
もし、必要であればW3Cに基づかれます。

No comments: