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

Mobile版Firefoxの仕様に若干変更があるようです

当サービスのブログエディターをタッチパネル機で使用する場合に、
現在のところ全てのブラウザにて、エディターの機能を完全に使用することができない状況ですが、
Android版Firefox Beta34でテストしたところ、若干変化が確認できました。(34からの変更かどうかはわかりません)
ただし、問題解決に至っていません。

Android版Firefoxで当サービスのブログエディターを使用する場合、
Android版Firefoxに、
  1. e.stopPropagation()によってコンテキストメニュー及びテキスト選択UIが阻止されてしまう。
  2. コンテキストメニューとテキスト選択が共にロングタッチなため、テキスト上でコンテキストメニューを発生させた場合テキスト選択UIが出ない。
  3. マウスイベント発生前のタイミングでRangeが破損する。
というバグがブラウザに存在して、そのためにAndroid版Firefoxで選択範囲の編集を行うエディターを作成することが困難なのですが、
Rangeが破損するバグはなく無っているようです。


Rangeが破損するバグは、
テキストを選択した状態で上部メニューから選択範囲に編集を行おうとすると、
上部メニューのクリックイベントの際に以前はRangeが破損していたため編集が行えなかったのですが、
この点は問題なくなっているような気配です。

ただし、コンテキストメニューとテキスト選択UIの問題があるため、
現状テキスト選択自体ができません。


e.stopPropagation()のバグは、エディター上でのXSS対策として、
エディター上のコードでスクリプトが駆動しないようにするためにe.stopPropagation()をしているのですが、
エディター利用者本人が悪意のあるコードを入力しなければXSSは成立しませんので、
Android版Firefoxに対応できるのならXSS対策用の処理は省いても良いと考えています。


コンテキストメニューとテキスト選択が共にロングタッチな問題は、
テキスト選択UIの代わりになるような機能をこちらで実装するか、コンテキストメニューの方を代替機能を用意するか・・・
といった感じで考えてはいますが、良い方法が思いついていません。