ホーム > Web技術 > OperaMobile9.5はバグが多い

OperaMobile9.5はバグが多い

2008 年 10 月 15 日 コメントをどうぞ コメント

RSS+ReaderをOperaMobile9.5に対応させる際に発見したバグを報告しておきます。

OperaMobile9.5はiPhoneのSafariと動作が近く、多分に意識して開発されたブラウザで、8.x系から大幅に仕様が変更されているためにバグも多く含まれてしまったのだと推測しています。

viewportのサイズが間違い

iPhoneのSafariと同様にviewportのmetaタグが使えます。 ただし、width=device-widthとheight=device-heightを指定すると、320×240のQVGA相当の画面になってしまいます。

ちなみにwindow.screenのwidthとheightの属性も同じく320×240でした。 これはTouchDiamondとOperaMobile9.5の組み合わせだけがこうなるのかどうかは不明です。

あとバグではないのですが、viewportのmetaタグでuser-scalable=noを指定しても拡大縮小できてしまいます。 Opera開発者曰く、拡大縮小はユーザが選択するべきものだからだそうです。

現在の表示位置や大きさを特定できない

画面をスクロールさせた場合、ほとんどのブラウザではその位置を特定できるのですが、OperaMobile9.5は見当はずれの位置を返すことがあるため信用できません。 特に上にスクロールしたときや、カーソルでスクロールすると、見事に変な座標を返します。

また、現在の画面の高さを、window.innerHeight、documentElementやdocument.bodyのclientHeightなどで取得することが出来ません。 これらは仮想Viewの高さを返してくれます。

position:fixedが使い物にならない

8.x系ではキチンと機能していたfixedですが、9.5からスクロールに引きずられるようになっています。 スクロール後にfixed位置で再表示しようとしますが、ずれることが多く、使い物になりません。

あとabsoluteレイヤ上の要素の座標を特定しなければいけない場面があったのですが、見事に0を返してくれました。 これも同じく使えません。

divのスクロールが反応しない

フローティングのdivエリアがスクロールできる状態の時、8.x系ではその部分をドラッグしてスクロールできましたが、9.5では出来ません。 お飾り的なスクロールバーが付いているのですが、もの凄く細くてとても使えません。

その他、おかしな動作

URL横にあるリロードのボタンが誤動作について。 上部のURLバーは自動で隠れるのですが、隠れたバーに重なるリンクをクリックすると、隠れたはずのリロードボタンが反応することがあります。

追記: 時々XMLHttpRequestのPOSTデータの本文が送られないことがあるようです。 稀に発生することなので原因がよく分かりませんが、そのままでは困るので対処が必要です。

以上ですが、他にもたくさんバグが隠れているような気がします。

カテゴリー: Web技術
  1. コメントはまだありません。
  1. トラックバックはまだありません。

スパム投稿ではないことを確認するため、計算式の答えを半角数字で入力してください。 * Time limit is exhausted. Please reload the CAPTCHA.