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

Firefox Nightly、IE11と間違われる 54

ストーリー by headless
誤解 部門より
米 BestBuy のウェブサイトで Firefox Nightly がサポート終了した古いブラウザーと認識される問題が発生し、調査の結果 Internet Explorer 11 (IE11) と誤判定されているとの結論に達したようだ (Ghacks の記事webcompat/web-bugs: Issue 115507、 MozillaのBugzilla: Issue 1805967Issue 1806690)。

デスクトップ版および Android 版 Firefox のユーザーエージェント (UA) 文字列では「rv:」が Gecko エンジンのバージョンを示す。現在、Firefox Nightly はバージョン 110 であり、Gecko エンジンも同じバージョンだ。一方、Internet Explorer の UA 文字列ではバージョン 10 まで「MSIE 10.0」のようなバージョン表記だったが、IE11では「rv: 11.0」という表記に変更された。BestBuy は「rv:」に続く数字の先頭 2 桁のみを抽出してバージョン判定に用いているとみられ、Firefox バージョン 110 が IE11 と誤認識されるようだ。

誤認識を避けるため、Firefox Nightly の「rv:」は「109」に変更されており、バージョン 119 までは「109」のままにしてバージョン 120 で本来の「120」に戻す計画も示されている。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2023年01月02日 20時18分 (#4388998)

    ずっとFirefox 3.x.xのままにしてればこんな事もなかったのに
    バージョン番号が3.65535.16777216とかになってもいいじゃん

    • rv:の後ろ数値部分を抜き出して比較ってことをやらないからだよ。
      手抜きするところはそこじゃ無いっていうね。

      親コメント
      • by Anonymous Coward

        それもそうだけど、それより「rv:の後ろに数字があればIE扱い」って方が問題あると思うな。
        ブラウザ間はもちろん同じブラウザでもバージョンによって表記が違うわ将来どんな書式になるか未知数だわで、UAの文字列で判定って方法自体がもう破綻してるよ。

        • by Anonymous Coward on 2023年01月03日 0時27分 (#4389043)

          rv:の後ろに数字があるのは本来Firefoxが先に導入した形式で、IE11がIE扱いされるのを避けるためにFirefoxそっくりの形式のUAを導入したら、今度はFirefoxがIE扱いされる始末。

          バージョン10問題とか、macOSのバージョン11問題とか、バージョン100問題とか、UA文字列はこういう闇を至るところに抱えていてほとんど変更不可能になってる。ChromeがClient Hintsを導入した理由の一つ。

          親コメント
        • by Anonymous Coward

          何がアレって、Webシステムがバグってるのが確定ではあるけど、
          SafariやChromeと違ってFirefoxだとシステム改修せずに放置プレイされそうな所が……

          • by Anonymous Coward

            放置プレイで済めばいいけど、これを機にサポートをやめるという流れもあり得る。

            • by Anonymous Coward

              とっくにサポートしていない(動作確認していない)のが表面化しただけだと思う。サポートしないならしないでそんな風に放置してればいいのにIE11をUA判定の「サポート」対象に加えた挙げ句この始末。

          • by Anonymous Coward

            SafariやChromeはUser-Agentにrv:を含んでいないから、明らかにSafariやChrome(と本来弾く対象であるIE11)でしか動作確認していない。

            • by Anonymous Coward

              まだナイトリービルドだから、これから対応だったかもしれない

          • by Anonymous Coward

            Chromeが110になったら顕在化して修正される、かも。

    • by Anonymous Coward

      バージョン番号が3.65535.16777216とかになってもいいじゃん

      3.14159265359...と桁を増やしていくのはどうだろう

    • by Anonymous Coward

      Windowsのバージョン番号の各パートは、一部APIの都合上16ビット以内という制約がある。ビルド番号けっこう景気よく上げてるけどそのうち足りなくなるのでは? と心配になってくる

      • by Anonymous Coward

        きっとどっかで0に戻すのでしょう。

        ビルド番号のロールオーバ未考慮とか有りませんように……

      • by Anonymous Coward

        既に一回、WindowssServer2008SP2でやってますな

    • by Anonymous Coward

      Quantumが実質4相当だろうから4.x.xだな

    • by Anonymous Coward

      違うだろ、悪いのは米BestBuy。
      でなければ、苛めの被害者が悪い事と同様の論理になる。

    • by Anonymous Coward

      ずっとFirefox 3.x.xのままにしてればこんな事もなかったのに
      バージョン番号が3.65535.16777216とかになってもいいじゃん

      Firefoxは被害者だろjk

      • by Anonymous Coward

        User-Agentが出鱈目なことになってるのは、Mozillaに罪がないとは思えない(MSが一番悪か?)。
        BestBuyが何かブラウザ判定のライブラリを使ってるとしたら、他でも同じ問題が出るんじゃなかろうか。

  • by Anonymous Coward on 2023年01月02日 22時24分 (#4389017)

    プログラミングでは、時を得ない最適化は諸悪の根源なのであります。 [wikipedia.org]」
     - Donald Knuth、1974年、チューリング賞受賞講演より -

    • by Anonymous Coward

      「時を得ない」ってなんだ? と思ってリンク先を見たら「時宜を得ない」か。「宜」が読めなかったからって勝手に略すな。AI機械翻訳じゃあるまいし。ていうかそんな小難しい言い回しをわざわざ使わなくても「はやまった」でいいじゃん。

      • by Anonymous Coward

        こちらはWikipediaを編集するI/Fではありません。

      • by Anonymous Coward

        言い換えはもとの言葉の意味を知ってないとできないから。
        雑に一文字削ってしまう人にその要求は荷が重い。

        • by Anonymous Coward

          烈士「凡得時者昌、失時者亡。」(時を得る者は昌え、時を失う者は亡ぶ [kotobank.jp])

          …時宜を得る、の言い方が目立つけど、時を得る、も実は使えることを、#4389038と#4389059は知らなかったようだ。

          • by Anonymous Coward

            - Donald Knuth、1974年、チューリング賞受賞講演より -

            と出典明記してあるから中途半端な改変するなよな、って話では?
            文脈的に使える使えないを問題にしているんじゃ無いと思う。

            • by Anonymous Coward

              prenominallyなら「時宜を得る」だが、prematureなら「早まった」だからな。
              「時宜を得る」も「時を得る」も和訳としてダメダメって主張なら賛成。

              ”和訳”としての引用元はリンク先の[wikipedia.org]であり、”和訳を改変せずに”、Wikipediaどおりに”時を~”のままとし、
              ”タイトルに書いた「Premature ~」の出典”について「- Donald Knuth、1974年、チューリング賞受賞講演より -」と示した、
              両方の記述を著作権的に配慮した苦労を分かってもらいたい。

              by #4389017

              • by Anonymous Coward

                #4389017はもうちょっと英語を勉強した方がいい。
                prenominallyは、形容詞の、だから、辞書そのものを読み間違えている疑いがある。
                時宜を得る、は、timelyとかwell-timedとかだろうよ。prematureとは大分違うことは確かだが。
                もしかすると、Wikipediaは「時を"経"ない」と書きたかったのかもしれない。

                余談だが、
                別スレッドでTeXのバージョン番号が話題になっているが、
                TeXと、同様のバージョン表記を用いたMETAFONTの開発を進めたのが、
                Donald E. Knuthである。

              • by Anonymous Coward

                wikipedia の当該箇所に『文芸的プログラミング』p.30って書いてあるんだが、
                『文芸的プログラミング』の翻訳者に「もうちょっと英語を勉強したほうがいい」と言いたいの?

              • by Anonymous Coward on 2023年01月03日 15時16分 (#4389116)

                「もっと日本語を勉強したほうがいい」の間違いだと思う。

                親コメント
              • by Anonymous Coward on 2023年01月03日 15時42分 (#4389119)

                「文芸的プログラミング」(原著は"Literature Programming"(Knuth, 1984))を持ってないので、正確な処は知りませんが、その更に前の出版物“Computer Programming as an Art” を見れば、"premature programming云々"の直前の文に、そもそも"時宜を得ずに(in the wrong places and at the wrong times)"まんまの語句を使っているので、"premature"の訳に「時宜を得ない」を持ちいると、同じ日本語を連続して繰り返すことになってしまい、訳文として宜しくないことは確かです。
                もし、2文まとめて意訳した、とか主張し始めるなら、訳文でも引用でもなくなり、無駄な問答ということになりますが、Wikiquoteを見ると、"Literature programming"方で、当該文を載せているような記述がないので、「文芸的プログラミング」の日本語版の訳註として、2文をまとめた意訳が掲載され、日本語版Wikipedia記述者が勘違いした可能性もあります。

                Wikiquote(リンク後述)を参照すると、“Computer Programming as an Art” (Knuth, 1974)の該当部分は、次のとおりです。この方の著作では"The real problem is"という言い回しもよく見かけますね…。
                "The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming."
                拙く自分なりに訳すと、前半は「本当の問題は、誤った場所・誤った時期に(=時宜を得ずに)、効率について頭を悩ますことに、プログラマが余りにも多くの時間を費やしていることである; 早期に最適化を行うことは〜」でしょうか。このセミコロンは「つまり」を表すので、尚のこと、和訳での区別は重要と思われます。

                Knuthさんは、別の書籍“Structured Programming with go to Statements” (Knuth, 1974)でも、premature optimization is the root of all evil."を使ってますが、その部分はこんな感じです。不見識なので、そちらの邦訳は知りません。
                "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%."

                ※参考
                https://en.wikiquote.org/wiki/Donald_Knuth [wikiquote.org]

                親コメント
              • by Anonymous Coward

                最近のお子様は、投げ捨てのヤジを飛ばすことだけで、日本語を書ける気になっているが、まあ、国会答弁を見ていると、仕方ないのかもね。

              • by Anonymous Coward

                英語っていうよりプログラミング界の定訳だと思ってたのだけど
                「早すぎる最適化」
                じゃなかろうか。

                こんなの証明にも何にもならないけど
                "早すぎる最適化" 3,010件
                "時宜を得ない最適化" 1件
                "時を得ない最適化" 488件
                Wikipedia での表現が引用で広がりつつありそうな気が

      • by Anonymous Coward

        言うほど?自分は違和感なかったけど。
        わが時を得たり!なんてラノベか翻訳戦記小説にも出てきそうな手垢の付いた表現だし、
        ちょっと洒落た訳にしてみたくらいじゃないかなあ。

        辞書に無かったとしても、この場合の時はすなわち時宜のこと、というだけでしょ?
        漢字を機や秋で(場合により季や節にも)置き換えられるトキ。

        • by Anonymous Coward

          Pre-(前に)、mature(成熟した)、なので、そもそも元の英文が、ただの「TPO」を言いたいんじゃないことに気付く必要がある。
          くだけて言うなら、「仕上がってもいないまま(完成してもいないのに)最適化に取り掛かろうとすることが諸悪の根源だ」て感じのニュアンスなん…。

          あと、この発言は、リソースの制約、マシンタイムや記憶容量がキツい時代、アセンブリ言語で書いたり、Go To文がある時代を背景とした発言であり、
          特に今の時代を指して何か言っている話でもない。

  • by Anonymous Coward on 2023年01月03日 21時27分 (#4389191)

    不適切なコーディングを正すためなら参加してくれそう

  • by Anonymous Coward on 2023年01月04日 11時55分 (#4389292)

    それでなくともFirefoxを弾く悪質なサイトが増えてきてると言うのに…。

  • by Anonymous Coward on 2023年01月05日 10時18分 (#4389572)

    IE11判定で、まず Trident を拾っていないということ?

typodupeerror

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

読み込み中...