
SeaMonkeyでGoogle検索にアクセスするとFirefoxでアクセスした場合とは異なるCSSが送信される 31
ストーリー by hylom
さすがにSeaMonkeyはしょうがないとはいえ 部門より
さすがにSeaMonkeyはしょうがないとはいえ 部門より
Webブラウザとメールクライアント、ニュースリーダーなどを統合したアプリケーション「SeaMonkey」でGoogle検索にアクセスすると画面の表示レイアウトが崩れるという話がmozillaZineフォーラムで報告されている。
Google検索ではSeaMonkeyでアクセスした場合とFirefoxでアクセスした場合とで異なるCSSを返しており、これが原因でレイアウトの崩れが発生しているようだ。
フォーラムでは有志が検証を行った結果も投稿されているが、User-Agentヘッダーの内容によってCSSの内容が変化するという。SeaMonkeyのユーザーエージェントは「Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4」となっておりFirefox 52と互換性があることが示されているのだが、Google検索では文字内でバージョン番号を示す末尾の数字だけでユーザーエージェントを判断しているのがこの問題の原因のようだ。
User-Agentなんて (スコア:2)
User-Agentなんてなくしてしまえば良いんじゃないですかね。
クライアントの余計な情報をサーバーに教えること無いでしょう。
Re: (スコア:0)
客「UAがなくなった? JSやHTML5の動作からブラウザ判定して、よろしく」
# もうブラウザ指定する客もそうそうおらん気もするが
Re:User-Agentなんて (スコア:2)
そろそろ、クライアントの実装をサーバーが意識するようなことはやめるべきなんでしょう。
実装の種類も増えたし、フォーマットの仕様もしっかりしてきたのだらか
クライアントは受け入れ可能なHTMLフォーマットの仕様上のバージョン番号なりを送るようにして
サーバーはクライアント実装の種類など区別せず、
あくまでも仕様に応じて応答するようにしていく頃合いなんだと思いますよ。
エンドユーザーのブラウザ更新も、ほとんど自動化されているのだし、
仕様を満たしていない側が修正するようにしないと。
Re: (スコア:0)
html も css も javascript も仕様を完全実装なんて存在しないし対応の順番もソフトによってまちまち。
そうなると機能ごとに対応を表明しないといけないから、ヘッダが長くなるか、本文の前段階で複数回のやりとりが必要になる。
それが面倒なら、機能のセットをパッケージとして表記することになり、エンジン名とバージョンに落ち着く。
さらに拡張やらインターフェイスの違いが必要にならソフト名とバージョンも付与することになる。
マイナーなソフトはメジャーなソフトとの互換性を示すために互換性情報を付与する。
するとユーザーエージェントが再発明される。
Re:User-Agentなんて (スコア:2)
大きな仕様の全実装が難しい場合は、小さく分けて組み合わせられるならそれにプロファイル等の命名をするなり、実装具合も仕様として共通化したうえで選択できるようにすべきなんでしょう。
クライアントの実装毎にサーバーが対応してしまったり、
サーバーに応じてクライアント側が対応してしまったり、
変化の激しい発展途上段階では進歩スピードに寄与してきたのでしょうけど、
これからはもっと変容性や互換性を重視して安定していってほしいものです。
User-Agentがサーバーサイドの場当たり的な対応を許してしまってきたので、
悪習慣を無くすためにも、いっそなくしたほうがいいんじゃないかと思いますね。
プライバシー保護にもなりますす。
Re: (スコア:0)
> 大きな仕様の全実装が難しい場合は、小さく分けて組み合わせられるならそれにプロファイル等の命名をするなり、実装具合も仕様として共通化したうえで選択できるようにすべきなんでしょう。
小さく分けたら完璧に実装できるってのは幻想だよ。
Re:User-Agentなんて (スコア:2)
そういう意味じゃなくてね、そこから先は仕様に従っていない側が修正するって事。
仕様を全部満たすのはとうてい無理だからしていなくて当たり前じゃなくて、
仕様を満たしていないのが悪いって事にするのよ。
Re: (スコア:0)
> クライアントは受け入れ可能なHTMLフォーマットの仕様上のバージョン番号なりを送る
> 大きな仕様の全実装が難しい場合は、小さく分けて組み合わせられるならそれにプロファイル等の命名をするなり
う〜ん,いまいち想像できない.
現状なら,例えばFirefoxやChromeだと,どういうバージョン・プロファイルになることが想定されるのですか?
あと歴史的には,そういう仕様の細かな標準化は HTML4 や XHTML の頃に流行ったけど,実装できるところからやっていくと舵を切った HTML5 への流れと逆行するから受け入れるベンダーは少ないんと思う.
Re: (スコア:0)
HTML5前後のドタバタを忘れてしまった人かな。もうblink/chromiumで統一されてしまうもんね。
WebSocketとかWebStorageとかひどいもんです。input要素の対応状況とか。
Re: (スコア:0)
javascriptはもともと実装されている機能で処理を分けるように推奨されておりますが。
#HTML/CSSは非対応でも最低限の表示ができるように
Re: (スコア:0)
IE6やガラケー時代には考えられなかったセリフだな。
Compact HTMLなんて死語だもんなー
PCに関してはだいたいMSのせい。
Re: (スコア:0)
そこで不要な独自性を発揮して被害を受けてるわけで自業自得でもある
Re: (スコア:0)
むしろ文字列解析なんてしなくていいように、バージョン番号を取得できるようにしてほしい
ニュースリーダー (スコア:2)
懐かしい香りがするなぁ
実名・村社会の片鱗がスラドに少し感じられ、時折そのなつかしさがよぎることもある
SeaMonkey (スコア:0)
おっさんのハートに来るネーミングですね...
# そうそうに全滅しちゃうんだよなぁ...
User-Agent (スコア:0)
Sleipnir6も同様にくずれますよ~
どこに新規性が? (スコア:0)
Re: (スコア:0)
SeaMonkeyとFirefoxに対し、Geckoのバージョンが同じ場合に、異なるCSSを適用する理由を合理的に説明できない。
Re: (スコア:0)
Re: (スコア:0)
そこは、今回問題の部分ではありません。
UAの末尾「Firefox/52.0 SeaMonkey/2.49.4」をFirefox 2.49.4と判定していることが今回の問題です。
Re: 2.49.4 Googleの検索窓でカーソルがずれて入力が崩れる
https://forums.mozillazine.jp/viewtopic.php?f=4&t=17287#p62915 [mozillazine.jp]
Re: (スコア:0)
単にseamonkyを無視していてたまたまそうなっただけでしょ
Re: (スコア:0)
「Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0」などという
グロテスクな歴史的経緯の産物の解釈に「合理的」な説明を求めるとは正気ですか?
Re: (スコア:0)
今回の場合、UA全体を解釈する必要はありませんね。
SeaMonkey 2.49.4のUAに含まれる「Firefox/52.0 SeaMonkey/2.49.4」を
Firefox 2.49.4ではなくFirefox 52.0と判定すればよいです。
Re: (スコア:0)
Re: (スコア:0)
わざとやってるわけじゃない(はず)から合理的に説明する必要がない。
あえて合理的に説明するなら真ん中の文字を飛ばして読む仕様のせい。
Re: (スコア:0)
はいはい面白く不貞腐れたね〜
ゆめのあと (スコア:0)
Microsoftの「Active Desktop」とか、
Mozillaは「XUL」だったっけ。HTML(XML)とスクリプトで一端のアプリが作れるはず!と夢見てたんだよね。
でも、込み入ったXMLはもう誰にも保守できないし、
そもそもスクリプトとXMLをどう結び付けるのさ、という問題も解決できなかった。
結局、そんな夢みたいな開発手法はただの夢に過ぎない、と気づいた時には
AppleとGoogleが笑いながらモバイルに進出し、MSとMozillaを過去に置いて行ってしまった。
結構な人々が時間を無駄にしてしまったもんだ。
Re: (スコア:0)
意味を理解してない単語をそれっぽく組み合わせてるだけだろ。
Re: (スコア:0)
react native せやな
Re: (スコア:0)
Electronもまあまあ使われているよね。
Androidでは (スコア:0)
Android版FirefoxでGoogleを利用すると古臭いUIになって、UAからFirefoxとGeckoの文字を消すと通常のUIになるのは知る人ぞ知る話。