このサイトでは古すぎるため、ブラウザのコピーが機能しません

the SDMB(および try.discourse.org)に今日ログインしたところ、次のメッセージが表示されました。

「残念ながら、お使いのブラウザはこのサイトで動作するには古すぎます。リッチコンテンツを表示したり、ログインしたり、返信したりするには、ブラウザをアップグレードしてください。」

しかし、私は4日前にリリースされたばかりの最新バージョンのブラウザ、SeaMonkey 2.53.13を使用しています。Discourseはそれをサポートしないことを選択したかもしれませんが、それがDiscourseで動作するには「古すぎる」と言うのは間違っています。実際、ブラウザのUser-Agent文字列をオーバーライドすると、すべて正常に機能するように見えます。

問題は、Discourseによる不正確なUser-Agentスニッフィングにあるようです。デフォルトでは、SeaMonkeyのUser-Agent文字列はFirefoxの互換性を広告しています。

Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.13

User-Agent文字列を次のように変更してFirefoxの互換性を非表示にすると([編集] → [設定] → [詳細設定] → [HTTPネットワーキング] → [User Agent文字列] → [SeaMonkeyとして識別])、SeaMonkeyは問題なくDiscourseサイトにアクセスできるようになります。

Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 SeaMonkey/2.53.13

Discourseがもはや主流ではないSeaMonkeyのようなブラウザをサポートしたくないことは理解できますが、それらのブラウザがDiscourseサイトへのアクセスを積極的にブロックされないようにすることは望ましいです。そして、これらのブラウザが積極的にブロックされたとしても、Discourseがその理由を偽って報告しないようにすることは望ましいです。

User-Agentスニッフィングを改善して、サポートされているブラウザの名前とバージョンを検索するだけでなく、文字列の最後までチェックするようにしてください。(おそらく、User-Agent文字列内の位置に関係なく、サポートされているブラウザの名前とバージョンを探しているだけだと思います。)結局のところ、文字列の先頭にある古いバージョンのMozillaを報告したためにブラウザをブロックしているわけではないのに、なぜ文字列の中間にある古いバージョンのFirefoxを報告したためにブラウザをブロックする必要があるのでしょうか?

何らかの理由でスニッフィングアルゴリズムを変更することが望ましくない、または実用的でない場合は、互換性がないと思われるユーザーエージェントを検出したときの動作を変更してください。ユーザーにブラウザが「古すぎる」と(おそらく誤って)伝え、それ以上のアクセスをブロックする代わりに、ユーザーにブラウザがサポートされていないことを伝え、サポートされているブラウザのリストへのリンクを提供しますが、既存のブラウザを使用して続行するオプションを提供してください。

これは、Discourseがユーザーエージェントをチェックする方法に最も関係があると思われます。imo、seamonkeyは、Discourseと互換性のない古いバージョンのFirefoxを表示する場合、Firefoxヘッダーオプションを持つべきではありません。これは、Discourseではなく、Seamonkey側の悪い計画によるものと思われます。

「いいね!」 2

通常、Duecourse は UA スニッフィングではなく機能チェックによってサポートされていないバージョンを検出します。

Firefox の古いバージョンでのコンポーザーに関する最近の問題により、特定のバージョンの Firefox に問い合わせた場合、実際にはバグがあり正常に機能しないにもかかわらず、必要な関数をサポートしていると喜んで(そして技術的に正確に)言われたため、UA スニッフィングを使用する必要がありました。

ここで問題となっているのは、Seamonkey がデフォルトで、互換性がある 実際 のバージョンではなく、はるかに古い バージョンの Firefox と互換性があるとサイトに伝えていることです。

Discourse はこの場合、正しいことを行っています。

「いいね!」 4

そこまで単純な問題ではないと思います。SeaMonkeyのあるバージョンがFirefoxの特定のバージョンと互換性があると広告するのは、その2つのブラウザバージョンが同じコアコードベースを共有しているためです。一般的に、そのバージョンのSeaMonkeyは、そのバージョンのFirefoxができることの少なくともすべてができると仮定できます。このコアの互換性に加えて、SeaMonkeyのあるバージョンは、Firefoxの後のバージョンがサポートする特定の機能もサポートしている場合がありますが、必ずしもすべてではありません。したがって、SeaMonkeyが明示的にそれらの後のバージョンとの互換性を広告するのは、真実ではなく(また、一般的に役立つことでもありません)。

要するに、新しいブラウザが古いブラウザとの互換性を広告しているからといって、その新しいブラウザが新しい機能もサポートしていないという意味ではありません。繰り返しになりますが、今日のほとんどのブラウザはMozilla/5.0との互換性を広告していますが、それはそれらの古いエンジンができることに厳密に限定されているという意味ではありません。

コンポーザーを開いて、太字/斜体のボタンが正しく機能するかどうかを確認していただけますか?それは古いFirefoxバージョンで発生した問題です。

「いいね!」 1

UA スニッフィングの代替案として、Firefox のバージョン (89 ~ 91) に近い window.visualViewport の機能検出があります。これに切り替えることはできますか?しかし、1 月までは Safari 12.5 のバイパスを追加する必要があります :weary:

「コンポーザーを開いて、太字/斜体のボタンが正しく機能するかどうか確認してもらえますか?以前のFirefoxのバージョンでそのような問題がありました。」

SeaMonkey 2.53.13ではそれらのボタンが現在正しく機能しないことを確認できますが、Firefox 100.0.2では正しく機能します。Markdownに直接書き込むことしかしないので、以前はそれらを試したことがありませんでした。

そう言えば、SeaMonkeyではmetaで返信ボタンも機能しませんが、boards.straightdope.com(hosted-by-discourse.comで実行中)では機能します。

「いいね!」 1

したがって、一番上に表示されている警告は有効ということですね?

「いいね!」 2

そのように書かれているのであれば、いいえ、なぜなら私のブラウザは「古い」わけではなく、「アップグレード」する必要もないからです。最低限、文言を「お使いのブラウザはサポートされていません。リッチコンテンツの表示、ログイン、返信には、サポートされているブラウザに切り替えてください。」に変更することをお勧めします。

「いいね!」 4

はい、コピーを更新しても構いません。「old」は確かに批判的であり、lynx はまだ活発に開発されています。

「いいね!」 3

@nbianca コピーを更新していただけますか?

「いいね!」 2

このPRのコピーを更新しました。

「いいね!」 2

このトピックは4日後に自動的に閉じられました。新しい返信は許可されていません。