<textarea>入力支援スクリプト(クロスブラウザ仕様)
- 以下入力領域の文字を反転させ、em / pre / href ボタンをクリックして使います。
- 文字を反転させずにボタンをクリックした場合は、カーソル位置に挿入されます。
補足事項
- ブラウザを判定し、それぞれに適したJavaScriptを実施します。
- ブラウザ判定は、ブラウザネームを固定で判定するのではなく、実装されている JavaScript / DOM を判定しています。
- Mac系IE、Safari等、<textarea>内でクリック、または反転した位置をJavaScriptで拾えない環境では、文字の最後または先頭に追加されます。
- 動かない環境が存在するのは、<textarea>内のクリックした位置を取得する仕様がJavaScriptあるいはDOMで定められていない為です。
- この為、Win系IE及びmozilla系で独自に実装されているJavaScriptを利用し、これを実現しています。
- JavaScriptが無効な環境では、em / strong / 変換 等の操作ボタンは表示されません。
動作確認環境
- Win
IE6.0 / Netscape7.1 / FireFox1.0 / Opera8
- MacOS9.1
IE5.0 / Netscape7.0
- MacOSX
IE5.1 / Netscape7.1 / FireFox1.0 / Safari
- FreeBSD
w3m(テキストブラウザ/JavaScript無し)
用途例
- <textarea> の入力領域で利用可能なスクリプトです。
- 例えば一部のタグを許可している掲示板等でご利用いただけます。
- 日記 / ブログ系の記事を作成する画面でご利用いただけます。
- 全てを JavaScript 及び DOM で制御する為、Perl / PHP / Ruby 等の言語に左右されません。
設置方法
- 設置方法をまとめました。
- このページと全く同じ JavaScript を記載しています。
- HTML や CGI に弱い人は設置しない方がむしろ幸せです、やめておきましょう。
参考サイト
- DOMの勉強をしているうちに、この手のスクリプトは共通規格外のメソッドやプロパティを用いなければ実現できない事を知りました。
- 共通規格外の仕様は、資料を揃えるのに手間と時間がかかります。
- そんな中、以下のサイトに掲載されている情報が有効でした。
- このスクリプトは mugi様が公開されたスクリプトであるテキスエリアの選択文字前後に文字挿入(IE専用)をヒントに作成されています。
この場所で公開しているスクリプトはゼロから作成したものですが、IE版作成時には数々のハマリ処があり、その解決方法の全てはmugi様作成のスクリプトに全て記載されていました。
偉大な先人に脱帽です。素敵なスクリプトをありがとうございました。
- mozilla版では、All About Japanが運営されるJavaScript掲示板を参考にしました。
疑問点は Google 経由で JavaScript掲示板より調べる事ができました。
- そして世の中にはこんなに素晴らしいスクリプトがあるのだよと説いてくれたくれなさんに感謝です。
再配布/著作権について
- 基本的なスタンスはmugi様の『スクリプト1行目にある(mugi様の)著作権表示を削除しない限り、再配布、商用利用、改良版の再配布可』とします。
- mugi様の著作権部分は絶対に!削除しないように。
- 私の著作権部分は削除していただいて構いませんが、日本国内では作者が著作権を破棄する事はできませんので、著作権そのものは残ります。