Pale Moon 32.xでブラウザ検出スクリプト(のみ!)が誤動作

私が訪れるほとんどのDiscourseインスタンスでは、Pale Moon 32.xでアクセスすると、最初に「ブラウザが古すぎます」というバナーが表示され、表示が不完全になります。しかし、これはブラウザ検出JSからの誤検出です。広告ブロッカーを使用して/assets/browser-detect-<hash>.br.jsを無効にすると、サイトは完全に機能します。(Pale Moonはほとんどの最新のWeb標準をサポートしているため、予想通りです。)

つまり、最新のブラウザで動作するようにサイトを作成したにもかかわらず、90年代のユーザーエージェントスニッフィングを使用して、任意に選択されたブラウザにのみ制限しているということです。これは、ユーザーの自由を制限し、Googleのウェブにおけるほぼ独占状態を助長するという意図しない副作用があります。修正してください!

ブラウザを恣意的に制限することはありません。Discourse が依存するすべての最新の Web API をブラウザがサポートしているかどうかを判断するために、機能検出を使用しています。現在のチェックは次のとおりです。

したがって、Pale Moon はこれらの機能のいずれかを欠いている必要があります。

「いいね!」 7

なるほど。迅速なご返信、そして私の誤解を正していただきありがとうございます!

CSS.supports("aspect-ratio: 1") のみ false です。それを検出する必要があることに、正直戸惑っています。特に、それに依存するスタイルを調べたところ、CSS の @supports not (aspect-ratio: 1) {/*...*/} ブロックなどが多数見つかり、それが aspect-ratio のサポートがないにもかかわらずサイトの外観が問題ない理由を説明しているように思われます。(PM でも他のブラウザでも、Discourse を広範囲に使用してきましたが、視覚的な問題に気づいたことは一度もありません。)

「いいね!」 2