للأسف، متصفحك قديم جدًا للعمل على هذا الموقع. يرجى ترقية متصفحك لعرض المحتوى الغني، وتسجيل الدخول والرد.
ومع ذلك، أنا أستخدم أحدث إصدار من متصفحي، SeaMonkey 2.53.13، والذي تم إصداره قبل أربعة أيام فقط. قد يكون Discourse قد اختار عدم دعمه، لكن من الخطأ القول إنه “قديم جدًا” للعمل مع Discourse. في الواقع، إذا تجاوزت سلسلة User-Agent للمتصفح، أجد أن كل شيء يبدو أنه يعمل بشكل جيد.
تبدو المشكلة في اكتشاف User-Agent غير دقيق من جانب Discourse. افتراضيًا، تعلن سلسلة User-Agent الخاصة بـ SeaMonkey عن توافق Firefox:
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.13
إذا قمت بتغيير سلسلة User-Agent على النحو التالي لإخفاء توافق Firefox (عبر Edit->Preferences->Advanced->HTTP Networking->User Agent String->Identify as 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 من وكيل المستخدم، في رأيي، لا ينبغي أن يحتوي Seamonkey على خيار رأس Firefox إذا كان سيعرض إصدارًا أقدم من Firefox، وهو غير متوافق مع Discourse، ومن المحتمل أن يكون ذلك بسبب تخطيط سيء من جانب Seamonkey، وليس مع Discourse.
في العادة، يحاول Discourse اكتشاف الإصدارات غير المدعومة عن طريق التحقق من الميزات بدلاً من تحليل وكيل المستخدم.
كانت هناك مشكلة حديثة مع الملحن في الإصدارات القديمة من Firefox تتطلب منهم استخدام تحليل وكيل المستخدم لأنه إذا سألت إصدارات معينة من Firefox، فإنها ستجيب بسعادة (ودقة تقنية) بأنها تدعم الوظائف اللازمة عندما تكون في الواقع معيبة ولا تعمل بشكل صحيح.
المشكلة هنا هي أن Seamonkey يخبر المواقع افتراضيًا بأنه متوافق مع إصدار أقدم بكثير من Firefox بدلاً من الإصدار الذي يتوافق معه فعليًا.
لا أعتقد أن الأمر بهذه البساطة. يعلن إصدار معين من SeaMonkey عن التوافق مع إصدار معين من Firefox لأن هذين الإصدارين من المتصفح يشتركان في نفس قاعدة الكود الأساسية. يمكن افتراض أن هذا الإصدار من SeaMonkey يمكنه، كحد أدنى، القيام بكل ما يمكن لهذا الإصدار من Firefox القيام به. بالإضافة إلى هذا التوافق الأساسي، قد يدعم إصدار معين من SeaMonkey ميزات معينة تدعمها الإصدارات الأحدث من Firefox، وإن لم يكن بالضرورة كلها. لذلك لن يكون من الصدق (ولا مفيدًا بشكل عام) أن يعلن SeaMonkey صراحة عن التوافق مع تلك الإصدارات الأحدث.
باختصار، مجرد أن متصفحًا جديدًا يعلن عن التوافق مع متصفح قديم لا يعني أن المتصفح الجديد لا يدعم ميزات أحدث أيضًا. مرة أخرى، يعلن معظم المتصفحات اليوم عن التوافق مع Mozilla/5.0 ولكن هذا لا يعني أنها مقيدة بشكل صارم بما يمكن لهذا المحرك القديم القيام به.
أحد البدائل لـ UA sniffing الذي يطابق إصدار Firefox قريب (89 → 91) هو اكتشاف الميزات window.visualViewport. ربما يمكننا التبديل إلى ذلك؟ لكننا ما زلنا بحاجة إلى إضافة تجاوز لـ Safari 12.5 حتى يناير
هل يمكنك محاولة فتح المحرر ورؤية ما إذا كانت أزرار الغامق/المائل تعمل بشكل صحيح؟ هذه هي المشكلة التي واجهناها مع إصدارات فايرفوكس القديمة.
أستطيع التأكيد على أن هذه الأزرار لا تعمل بشكل صحيح حاليًا بالنسبة لي في SeaMonkey 2.53.13، لكنها تعمل في Firefox 100.0.2. لم أحاول استخدامها من قبل لأنني دائمًا ما أكتب مباشرة في Markdown.
ليس بالصيغة المكتوبة، لا، لأن متصفحي ليس “قديمًا” ولا أحتاج إلى “ترقيته”. أقل ما يمكنك فعله هو تغيير الصياغة إلى: “يبدو أنك تستخدم متصفحًا غير مدعوم. يرجى التبديل إلى متصفح مدعوم لعرض المحتوى الغني وتسجيل الدخول والرد.”