パスワードを忘れた? アカウント作成
13785605 story
Google

SeaMonkeyでGoogle検索にアクセスするとFirefoxでアクセスした場合とは異なるCSSが送信される 31

ストーリー by hylom
さすがに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なんてなくしてしまえば良いんじゃないですかね。
    クライアントの余計な情報をサーバーに教えること無いでしょう。

    ここに返信
    • by Anonymous Coward

      客「UAがなくなった? JSやHTML5の動作からブラウザ判定して、よろしく」

      # もうブラウザ指定する客もそうそうおらん気もするが

      • そろそろ、クライアントの実装をサーバーが意識するようなことはやめるべきなんでしょう。
        実装の種類も増えたし、フォーマットの仕様もしっかりしてきたのだらか
        クライアントは受け入れ可能なHTMLフォーマットの仕様上のバージョン番号なりを送るようにして
        サーバーはクライアント実装の種類など区別せず、
        あくまでも仕様に応じて応答するようにしていく頃合いなんだと思いますよ。

        エンドユーザーのブラウザ更新も、ほとんど自動化されているのだし、
        仕様を満たしていない側が修正するようにしないと。

        • by Anonymous Coward

          html も css も javascript も仕様を完全実装なんて存在しないし対応の順番もソフトによってまちまち。

          そうなると機能ごとに対応を表明しないといけないから、ヘッダが長くなるか、本文の前段階で複数回のやりとりが必要になる。

          それが面倒なら、機能のセットをパッケージとして表記することになり、エンジン名とバージョンに落ち着く。
          さらに拡張やらインターフェイスの違いが必要にならソフト名とバージョンも付与することになる。
          マイナーなソフトはメジャーなソフトとの互換性を示すために互換性情報を付与する。
          するとユーザーエージェントが再発明される。

          • 大きな仕様の全実装が難しい場合は、小さく分けて組み合わせられるならそれにプロファイル等の命名をするなり、実装具合も仕様として共通化したうえで選択できるようにすべきなんでしょう。
            クライアントの実装毎にサーバーが対応してしまったり、
            サーバーに応じてクライアント側が対応してしまったり、
            変化の激しい発展途上段階では進歩スピードに寄与してきたのでしょうけど、
            これからはもっと変容性や互換性を重視して安定していってほしいものです。
            User-Agentがサーバーサイドの場当たり的な対応を許してしまってきたので、
            悪習慣を無くすためにも、いっそなくしたほうがいいんじゃないかと思いますね。
            プライバシー保護にもなりますす。

            • by Anonymous Coward

              > 大きな仕様の全実装が難しい場合は、小さく分けて組み合わせられるならそれにプロファイル等の命名をするなり、実装具合も仕様として共通化したうえで選択できるようにすべきなんでしょう。

              小さく分けたら完璧に実装できるってのは幻想だよ。

              • そういう意味じゃなくてね、そこから先は仕様に従っていない側が修正するって事。
                仕様を全部満たすのはとうてい無理だからしていなくて当たり前じゃなくて、
                仕様を満たしていないのが悪いって事にするのよ。

              • by Anonymous Coward

                > クライアントは受け入れ可能なHTMLフォーマットの仕様上のバージョン番号なりを送る
                > 大きな仕様の全実装が難しい場合は、小さく分けて組み合わせられるならそれにプロファイル等の命名をするなり

                う〜ん,いまいち想像できない.
                現状なら,例えばFirefoxやChromeだと,どういうバージョン・プロファイルになることが想定されるのですか?

                あと歴史的には,そういう仕様の細かな標準化は HTML4 や XHTML の頃に流行ったけど,実装できるところからやっていくと舵を切った HTML5 への流れと逆行するから受け入れるベンダーは少ないんと思う.

            • by Anonymous Coward

              HTML5前後のドタバタを忘れてしまった人かな。もうblink/chromiumで統一されてしまうもんね。
              WebSocketとかWebStorageとかひどいもんです。input要素の対応状況とか。

      • by Anonymous Coward

        javascriptはもともと実装されている機能で処理を分けるように推奨されておりますが。
        #HTML/CSSは非対応でも最低限の表示ができるように

    • by Anonymous Coward

      IE6やガラケー時代には考えられなかったセリフだな。
      Compact HTMLなんて死語だもんなー

      PCに関してはだいたいMSのせい。

    • by Anonymous Coward
      別になくさんでもいいけどFirefox52と互換があるならFirefox52と完全に同じUAを送ればいいだけだよね
      そこで不要な独自性を発揮して被害を受けてるわけで自業自得でもある
    • by Anonymous Coward

      むしろ文字列解析なんてしなくていいように、バージョン番号を取得できるようにしてほしい

  • by st1100 (45287) on 2018年12月09日 14時54分 (#3529962)

    懐かしい香りがするなぁ

    実名・村社会の片鱗がスラドに少し感じられ、時折そのなつかしさがよぎることもある

    ここに返信
  • by Anonymous Coward on 2018年12月06日 17時03分 (#3528215)

    おっさんのハートに来るネーミングですね...
     
    # そうそうに全滅しちゃうんだよなぁ...

    ここに返信
  • by Anonymous Coward on 2018年12月06日 17時33分 (#3528234)

    Sleipnir6も同様にくずれますよ~

    ここに返信
  • by Anonymous Coward on 2018年12月06日 18時13分 (#3528259)
    Googleが提供するサービスが、相手によって振る舞い変えるなんて当たり前のことだったんじゃないの
    ここに返信
    • by Anonymous Coward

      SeaMonkeyとFirefoxに対し、Geckoのバージョンが同じ場合に、異なるCSSを適用する理由を合理的に説明できない。

      • by Anonymous Coward
        FirefoxはGeckoのバージョンを20100101に固定しちゃった(今後Fxのレンダリングが変更されてもこの数字はずっと変わらない)からそこは見ても意味ないフィールドだろ?
      • by Anonymous Coward

        単にseamonkyを無視していてたまたまそうなっただけでしょ

      • by Anonymous Coward

        「Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0」などという
        グロテスクな歴史的経緯の産物の解釈に「合理的」な説明を求めるとは正気ですか?

        • by Anonymous Coward

          今回の場合、UA全体を解釈する必要はありませんね。
          SeaMonkey 2.49.4のUAに含まれる「Firefox/52.0 SeaMonkey/2.49.4」を
          Firefox 2.49.4ではなくFirefox 52.0と判定すればよいです。

          • by Anonymous Coward
            Firefox 52.0と判定して欲しければSeaMonkey/2.49.4をつけなければよいのでは?
      • by Anonymous Coward

        わざとやってるわけじゃない(はず)から合理的に説明する必要がない。

        あえて合理的に説明するなら真ん中の文字を飛ばして読む仕様のせい。

    • by Anonymous Coward

      はいはい面白く不貞腐れたね〜

  • by Anonymous Coward on 2018年12月06日 21時09分 (#3528358)

    Microsoftの「Active Desktop」とか、
    Mozillaは「XUL」だったっけ。HTML(XML)とスクリプトで一端のアプリが作れるはず!と夢見てたんだよね。

    でも、込み入ったXMLはもう誰にも保守できないし、
    そもそもスクリプトとXMLをどう結び付けるのさ、という問題も解決できなかった。
    結局、そんな夢みたいな開発手法はただの夢に過ぎない、と気づいた時には
    AppleとGoogleが笑いながらモバイルに進出し、MSとMozillaを過去に置いて行ってしまった。

    結構な人々が時間を無駄にしてしまったもんだ。

    ここに返信
    • by Anonymous Coward

      意味を理解してない単語をそれっぽく組み合わせてるだけだろ。

    • by Anonymous Coward

      react native せやな

      • by Anonymous Coward

        Electronもまあまあ使われているよね。

  • by Anonymous Coward on 2018年12月13日 2時34分 (#3532449)

    Android版FirefoxでGoogleを利用すると古臭いUIになって、UAからFirefoxとGeckoの文字を消すと通常のUIになるのは知る人ぞ知る話。

    ここに返信
typodupeerror

※ただしPHPを除く -- あるAdmin

読み込み中...