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

改善したい問題点等

IEのステルスアップデート?で問題が発生するようになっていたので、また問題が生じるようにならないか気になりますが、
かなり重要な問題と考えていた、IEのEnter問題は解決出来ましたが、
その他で把握していて改善したい問題点。

1. ブログエディターでOperaのEnterを<br>にできない。
2. タッチパネル機でコンテキストメニューが出ない。

まあ、以前から何度か書いてますが、こんなところ。

OperaのEnterは、
他ブラウザはEnter入力時に<p>や<div>ではなく<br>を挿入するように処理していますが、
元々は、他ブラウザと共通処理をするとキャレットが消滅するという現象が発生していました。
どうもこの現象、selectionを削除するとscriptでselectionを設定してもキャレットが表示されない。
という事のようで、
今回の対IE用の修正で、selection自体は削除せずにrangeのみ操作するように修正したのですが、
それにより、同じ処理をOperaで行なってもキャレットは消滅しなくなりました。
が、<br>を挿入しているのでキャレットは次の行に移動して欲しいところですが、移動しないようなので処理を分けたままにしています。
この問題の解決のために、いろいろな方法でrange置換を試していますが、Operaでの解決方法は見つかっていません。
解決方法が見つかり次第対応したいです。

タッチパネル機でコンテキストメニューが出ないのは、
マウスの無いタッチパネル機では、右クリックの代わりに長押しでコンテキストメニューが出て欲しいところですが、
主要ブラウザのどれもcontenteditable上でコンテキストメニューは普通にはでません。出す方法も見つかっていません。
Firefox以外では、contenteditable以外に関してもコンテキストメニュー出ませんし、oncontextmenuイベントすら発生しない。
ブラウザアップデートでPCブラウザと同じような動作をしてくれるようになってくれないと厳しい。
タッチパネル機のために右クリック操作を捨てるとPCで編集しにくくなってしまうと思いますし。


あとは、
* CSSのviewportによる公式サイト全体のモバイル機器での縮小表示回避。(Opera以外未実装)
* ブログエディターの<menu>でのコンテキストメニュー拡張。(Firefox以外未実装)
* <input type="range">とかHTML5の<input>。(OperaとWebkitは随分前から実装してるんだが・・・)
* ログインフォームを<iframe srcdoc seamless sandbox>にしてセキュリティーを高めたい。(Webkitは実装しているが、全ブラウザ問題あり)
こんなところ。
ブラウザ実装が進まないと対応できない。

ブログエディターの改行処理を修正しました

度々修正しているブログエディターの改行処理ですが、また修正しました。
IE9及びIE10でEnter時にキャレットが移動しない場合がある問題が発生していましたが、今回の修正で解決出来ました。
表面上はIE9又はIE10のみ挙動が変わるはずですが、旧エディター、新エディター、両方共修正しています。

ブログエディターの改行処理では、
Operaにおいて他ブラウザと同じ処理を行うとキャレットが消滅する問題があるためOperaはEnterが<br>ではなくブラウザ標準の<p>となりますが、
今回の修正後の処理をOperaに適用するとキャレットが消滅問題が回避できたのですが、
それでもキャレットが移動しない問題が発生したため、Operaは除外のままです。(Operaは<br>ではなく<p>のままです)
この問題も、解決方法が見つかったら対処したいです。

また、今回の修正の際に、
セレクション内にレンジが複数ある状態の場合、独自処理を行わないように変更しました。
以前の仕様では、セレクション内にレンジが複数ある場合は全て削除して<br>を挿入していましたが、
複数レンジの選択というのは、主要ブラウザではFirefox以外では行うことができない行為なので不要と判断しました。