2009年01月28日

タグ挿入するJavaScript

このblogの編集に使っている画面でJavaScriptのHTMLタグ挿入ボタンがIEのみの対応で不便だったので、流行の技術で全ブラウザ対応にしてみようということになりました。

とりあえず、問題点はtextareaなどでの選択文字列を取り出す方法が

  • Mozilla Selection オブジェクトは window.getSelection() メソッドにより取得することができます。これは Object なのですが,toString() メソッドが定義されており,選択範囲の(タグ等含まない)文字列を返します。なので stringify すれば選択範囲を文字列として取得することができます。
    いっぽう MS ですが,document.selection プロパティに MS selection オブジェクトが格納されています。このオブジェクトで createRange() メソッドを呼ぶと MS TextRange オブジェクトを返すので,こいつの text プロパティを参照すると選択された文字列を取得*6することができます。
このようにブラウザごとに異なることだったので、この辺りを手がかりに調べたところ、まず、最初に見つけたのがこちらでした。特別なライブラリを必要としないので軽量なのは素晴らしいですが、今回はブラウザ依存したくなかったので採用見送り。

で、次に見つけたのがこちら

prototype.jsベースなのでクロスブラウザですし、メンテもされているようですし、なんと言っても日本人が作成なのでわかりやすい・・・ですが、どうせならjQueryでやりたいなぁと探したところ、国内では見あたらず・・・

で、辛うじて見つけたのがこちら

英語ですし、出来たのが2006年なのでアレですが、jQuery 1.3.1でもちゃんと動作するので、まぁ、これでいいかなぁと言うことで現在利用中です。

Posted by Takuchan at 2009年01月28日 22:54 | トラックバック(0)