無料ブログ「rentafree.net」の管理人ブログ

昨日の修正をちょい修正してアップしました

昨日のブログエディターの改行仕様変更ですが、
documentFragmentを使って改行と新行を挿入していましたが、
うまくいってたけど、documentFragmentの使い方として正しくないような気がしたので修正しておきました。
見た目や挿入内容に変化はありません。


新しい改行仕様で、

1. WebKitとIE9でキャレットが表示範囲より下に行く際に自動スクロールができない。
2. Operaはセレクション(というか、キャレット?)が消えちゃうので新仕様にしなかった。

という点があったので、どうにかならないかと試していましたが、
両方共難しい感じでした。

1.の自動スクロールに関しては、
WebKitとIE9では、<br>でoffsetTopが取得できず、現在位置が取得できない。
代わりに、次行に要素を入れて試してみたが、
Chromeで試したが、そうするとoffsetTopは取得できるが、セレクションおかしくなって、
Operaと同じようにキャレットが消えちゃう感じ。
それはまずいので、実験失敗。
同じ件で英語情報はあったから、バグ報告はいってるのかな?

2.のOperaの件は、
removeAllRangesするとキャレットが消えて、
新しくレンジを入れてもキャレットが復活しない。
removeAllRangesしないとキャレット移動ができなそう。
OperaはdeleteFromDocumentにも問題がある感じ。(こっちは別の方法でどうにかなりそう)
range周りにおかしいところがいっぱいある感じ・・・