JSEditBoxを公開しました|InformationInformationjavascriptその他いろいろで何か作ってます。ないブログに表示されています。新しい記事を書く事で広告が消えます。』が載っていたのでコピペして組み込んだ。androidな環境でtextareaにtabを入力してインデントしたいと思ったのが泥沼の入り口だった。関数で出来たが、テキストの先頭に挿入出来ない。if(obj.selectionStart)でセレクションオブジェクトの判定をしているのが原因だった。selectionStartの値が0のとき単純な判定式だとfalseになって弾かれてしまう。obj)に書き換えた。複数行選択されているときインデント/アウトデントするようにした。tabを行頭に挿入するか有効な文字列の先頭に挿入するか悩んだ。どっちでもたいして変わらないが行頭に挿入することにした。正規表現でさっくりと処理できると思ったら上手く行かず手間取った。firefoxだとerrorオブジェクトでエラー発生行と列が取れる。他のブラウザではスタックトレースを参照するようにした。IE系のエラーメッセージはどうにもならんので放置。