Android 4.x のブラウザがヤバい
著
ここ2週間ほど、TwitterでAndroidのブラウザを酷評しているわけですが。そもそも「ブラウザ」って何だよ、というところからして気に食わないのですけどね。何ですかブラウザって。一般名詞を固有名詞ぽく?使うだなんて、紛らわしいことこのうえない。デフォルトブラウザとも、標準ブラウザとも呼ばれることがあるらしいけれど、しかし表記は「ブラウザ」ってあるんだもん。本当にむかつく......いや問題はそこじゃなくて。最近、最強にイライラしているのは、html - android autofit mode causing issues with css width in web page - Stack Overflowで紹介されている件。記事中にあるように、この問題には対応策が無いわけではなく、日本語で紹介している記事もあります。
- androidでwidthが効かない - it-boyの日記
- Android4系のデフォルトブラウザでwidthが効かないバグとbackground-colorで回避出来るというメモ | kanonjiのブログ
Stack Overflowの記事にあるように、この事象、ブラウザで 設定 → 高度な設定 → ページの自動調整 のチェックを外すと解消します。残念ながら、デフォルトではチェックが入っていることから、それに頼った解決は困難というか不可能。でまぁ自ずと背景色か背景画像を指定するという謎ハックを突っ込むことになるわけですけど、それでも検証した限り全ての箇所で100%、解消するわけではない模様。ちなみに透明な背景画像を指定する、という件については、HTTPリクエストが増えるのを嫌ってデータURIスキームを使いエンコードした画像をスタイルシート内に直接記述するやり方が紹介されていたけど、実は画像を指定しなくとも background-image:url(); だけで解消できました(謎)。
( [ 2013-10-25 追記 ] background-image:url(); だと、@neotagさんによるとリクエストを出すブラウザがあるらしいのですが、@taku_eofさんからの指摘によると仕様上そうあるべきとのこと、HTTPリクエスト数を最小化する目的には相応しくないようです。従い、やはり透明画像をデータURIスキームで埋め込むか、背景色の指定(@KazumaNishihataさんがコメントされたような background-color:rgba(255,255,255,.01); など)が良さそう。)
それにしてもですよ。よくもまぁこんな状態で製品として(ブラウザをブラウザとしてw)リリースできましたね......普通、気づきそうなものなんですが。早急に修正バージョンを配布するなり、Android向けのGoogle謹製ブラウザはChromeに一元化するとの大号令をGoogleが発するなりしていただきたいものです。本事象のせいでテキストが勝手に折り返してしまっている状況は、僕が関わっている以外のメジャーなサイトでも当然発生していますし。中には横スクロールいらなくて便利だな
と思っていた人も実在するわけですが(この反応を見たときはかなりビビった)、それでもバグには違いないでしょうからね......。