Discourse 在运行不受支持浏览器的旧手机上无法工作

很长一段时间以来,每当我点击指向 Discourse 论坛的谷歌搜索结果时,都会遇到“很抱歉,您的浏览器版本过旧,无法在此 Discourse 论坛上使用。请升级您的浏览器。”的提示。想到这些结果本可能多么有用,我不禁叹息;更让我无奈的是,你们明明有能力检测我浏览器的功能,却没能以匹配这些功能的方式提供我想要的信息。

无法升级手机上的浏览器,所以我只能注册账号(用我的笔记本电脑)来讨论这个问题。

因此,我对这篇帖子有异议:

不如改成“Discourse 是为当下而构建的”?

我并不否认 Discourse 比某些其他 BBS 程序更“友好”,但让我们明确它的核心是什么:它是关于信息的。你们大力推广 Discourse 是优于早期 BBS 程序和论坛软件的解决方案,现在许多网站都在使用你们的软件来支持讨论。然而,一旦数据(论坛帖子)进入你们的系统,要将其导出有多容易?在我的手机上,你们的软件直接拒绝运行。或者更准确地说,它曾完美运行,直到有一天突然不行了。

互联网的未来与过去并无二致:收集并传播信息。将信息收集起来并据为己有,完全违背了将这些机器互联的根本目的——让信息触手可及。

我之前并不知道有“基本 HTML”视图。也许这是新功能,也许它存在已久但从未被推广。与其显示“很抱歉,您的浏览器版本过旧,无法在此 Discourse 论坛上使用。请升级您的浏览器。”,我非常希望能看到我所需要信息的基本 HTML 版本。我不在乎自己能否参与讨论,也不在乎是否获得那些炫目、迎合大众的视觉特效——这些我可以在笔记本电脑、平板或其他手机上获得。我想要的只是当初承诺给我的内容(来自链接或谷歌搜索结果)。

谢谢。

好消息!您今天就可以通过禁用 JavaScript 或设置 GoogleBot 用户代理来获取它。

在接下来的几个月里,我们将努力将其推广到旧版浏览器。

感谢 @ame。我们首先需要了解您的手机型号、操作系统及其版本,以及您使用的浏览器(包括版本)。有了这些信息,我们或许能提供帮助。如果我们不了解问题所在,就无法修复它。

关于基本的 HTML 视图,目前尚未实现。或者更准确地说,我们尚未向过时的浏览器提供该视图。如上所述的时间线所示,我们计划不迟于 6 月提供相关支持。您也可以通过 Falco 的建议强制启用该视图。

最后,我想坦诚说明:我们已尽力而为,并致力于支持尽可能多的浏览器。但考虑到这一点,支持历史上出现的每一种浏览器的每一个版本是不现实的。在我们托管服务的数亿次页面浏览量中,超过 95% 来自受支持的浏览器。我们选择专注于为绝大多数用户提供最佳体验,这意味着随着时间的推移,旧设备和浏览器将逐渐不再兼容。这就是软件开发的常态。

抱歉,我无法在手机浏览器中执行此操作。

感谢您的回复。

我不明白知道我用的是什么手机、操作系统及版本、以及浏览器,如何能有所帮助。这或许对我个人有用,但对其他遇到同样问题但设置略有不同的人却无济于事。我的手机渲染 HTML 完美无缺。如果您能直接发送该 HTML 内容,那就太好了。

我也完全了解软件开发的工作方式。您选择编写什么软件,以及如何编写它。两年前的 Discourse 在我的手机上运行正常,而今天的 Discourse 却不行。

我仍然可以在手机上使用 phpBB 网站,功能完整。邮件列表及其网页视图(通过 gmane 等)依然有效。甚至 Google 也提供简化的 HTML 版电子邮件,其本质与论坛并无太大差异。Discourse 究竟是为了促进讨论,还是仅仅追求光鲜亮丽?

事实上,电子邮件是沟通的巅峰,这也是为何许多组织对其深恶痛绝——想象一下,如果 Facebook 只是一个邮件列表,内容相同,却无法变现,也无法将用户牢牢锁定。我可以从任何客户端(或无需客户端)发送邮件,而收件人也能在任何客户端查看。Discourse 却并非如此:只能通过 Discourse 网页访问,且必须开启 JavaScript,并依赖当下流行的“最新、不断演变的 Web 标准”。

我并非要贬低 Discourse,但由于许多网站都在使用它,每当我进行网络搜索并找到相关讨论时,却无法查看内容——除非是 Discourse 站点。而 phpBB 或任何其他论坛软件则不然。我并不在意 phpBB 有多糟糕(也许它并不差,也许确实很糟糕)——至少我能获取信息。这才是关键所在。

如果您能提供一个像 Gmail 那样基本但功能完备的纯 HTML 界面,我现在就会在浏览器中(关闭 JavaScript)使用它,甚至在手机上也是如此。目前,我将继续阅读那些我在手机(以及即将加入我的 IE11 用户)上查看的其他网站信息。

我也想澄清,我并非完全排斥新技术的守旧者。我曾在手机上安装另一个浏览器,仅仅是为了使用 Discourse,但不幸的是,最近的另一项更改导致这也无法正常工作。

最后,衷心感谢您继续参与讨论。正如我所说,我深知软件开发之不易:工作艰难,无人感激您的付出,人们只会要求更多不同的东西。世事变迁,不过如此。

这能帮助我们找到 Discourse 无法工作的具体示例。也许只是一个我们可以修复的简单回归问题?也许是我们的浏览器检测功能未按预期工作?如果没有这些信息,我们无法帮助你,也无法帮助这里的其他人。

我们确实提供了一个纯 HTML 视图。这就是在禁用 JavaScript 时我们提供的视图。我们计划改进这一视图,并在今年六月前自动向使用旧版浏览器的用户展示。以下是我在禁用 JavaScript 的浏览器中查看的这个主题。

我不太明白你的重点。Discourse 应该会发生变化,因为它正处于积极开发中。我们一直在修复漏洞、提升性能、添加新功能等等。两年前我们刚发布 1.9 版本,并开始开发 2.0 版本。两年前我们使用的是 Ruby 2.4.2,现在使用的是 Ruby 2.6.4。两年前我们使用的是 JS ES2017,现在使用的是 JS ES2019。以此类推。使用技术栈中关键组件的最新版本,使我们能够充分利用各组件开发者提供的功能、改进和修复。就像 Discourse 一样,并非所有发布版本都完全向后兼容,因此随着我们转向新版本,我们会失去对非常老旧设备的支持。

那太好了!但这与 Discourse 无关。我可以列出许多 2017 年能在我的手机上运行、如今在那部手机上依然能运行的应用。同样,我也可以列出许多如今我在使用的、却无法在那部 2017 年的手机上运行的应用。


我理解你在这里的诉求,确实如此。但你并没有让我们有机会帮助你。我们确实有无 JavaScript 的视图。但你说:

以及

此外,如果不告诉我们你使用的是哪个操作系统和浏览器,我们无法判断这是否是我们能够修复的问题!你需要给我们一些可以着手处理的信息。

我将把这次讨论移到单独的主题中,因为这与我们弃用 IE11 的计划无关——你的手机上并没有运行 IE11。我们确实想帮助你,但目前为止我们得到的只是一项抱怨:Discourse 过去能在某部未知手机、运行未知操作系统、使用未知浏览器的情况下工作,现在却不行了。既然你了解软件开发是如何运作的,你就应该知道,仅凭这样的报告我们无法采取任何行动!

好的。我在小米红米手机上运行的是 Android 4.4.4,使用的是 Lightning 5.1.0 和 Mi Browser 9.4.10。

Lightning 向我显示了“很遗憾,您的浏览器版本过低,无法在此网站上工作……”的提示。
Mi Browser 则显示一个空白屏幕,左上角有一个小黑框。

既然您确实提供了无 JavaScript 视图,并且能够检测到我的浏览器版本过低,为什么不直接向我展示无 JavaScript 视图,而无需我进行任何操作呢?

难道只有我对此感到困扰吗?这就像走进图书馆,却发现书籍已被替换成需要特殊眼镜才能阅读的内容,而去年使用的特殊眼镜已经无法再用了。最糟糕的是,您明明知道信息依然在那里。软件非但没有让我看到曾经能看到的內容,反而在主动阻止我查看。


如果我是您,我肯定也会感到恼火。但这也是我选择使用 iPhone 而非 Android 手机的原因之一。在 iPhone 上,购买手机后多年内您都能获得更新,而 Android 的情况则参差不齐,且因厂商而异。这意味着我可以继续受益于 Discourse 所使用的改进版网页功能,而不幸的是,您却失去了支持。

并非软件在主动阻止。实际上,他们是在友好地告知您其浏览器不受支持,而不是让错误静默发生。一旦他们开始使用您浏览器不支持的功能,他们只有两种选择:要么告知您,要么让其在功能无法正常工作的情况下静默失败。当然,直到他们为旧浏览器推出无 JavaScript 版本之前,情况都是如此。

停止对一小部分用户的支持,使他们能够利用惠及绝大多数用户的新功能。我知道这样说对您的处境毫无帮助,但事实就是如此。

老实说,您的使用情况确实属于特例。我们很少有用户使用 5 年以上的旧版手机操作系统并通过第三方浏览器访问。

几点说明:

  1. 我在 BrowserStack 上快速测试了 Discourse 在 Chrome Android 4.4 上的运行情况,一切正常。这让我认为问题出在您使用的非主流浏览器上。
  2. 我们从未也从未计划正式支持非主流浏览器。我们仅支持并测试微软、谷歌、Mozilla 和苹果最新版本的浏览器。其他浏览器均被视为不受支持。除非问题能在官方支持的浏览器中复现,否则我们不将其视为缺陷。

至于为何我们目前不对旧版浏览器显示“无 JavaScript

说实话,你最好直接换个新浏览器。

以下是适用于 Android 的可信浏览器列表:

  1. Google Chrome
  2. Mozilla Firefox
  3. Microsoft Edge
  4. Vivaldi
  5. Opera
  6. Brave

使用上述六款浏览器中的任意一款,你应该就不会再遇到任何问题。


你也可以直接买一部 iPhone,但如果你没有预算购买新机,或者不想选择翻新机,那么换个新浏览器才是最佳选择。

我倾向于认为 Discourse 应将资源投入到其他任务上,而非维持与老旧或非典型浏览器的兼容性。不过,我仍赞赏他们为维持一个可用界面所做的努力,尽管这仅能惠及极少部分用户。即便如此,这也构成了一种道德风险,因为它助长了继续使用安全性较低、日益过时的系统。

更令我困扰的是,即使 Android 5.x 的升级版本可用,部分 Android 4.4.x 用户仍不会进行升级。有些人会坚持要求支持,因此 Discourse 将始终面临保留过时代码以满足少数用户需求的要求。

更让我感到不安的是,Android 生态系统迫使不必要的设备过时。但我并不期望 Discourse 去应对这场战斗:

  • Android 旧设备无法获得新版本升级,因此我们被迫更换手机以继续使用 Android 系统。因此,Android 4.4 的使用率正在逐渐下降……但这些设备已是 5-6 年前的旧机型:
    2019 年 5 月占 7%
    2019 年 8 月占 3%
    到 2020 年甚至已不再被统计,例如 statcounter.com

  • Android 4.4 即将失去 Google 的支持。因此,许多我使用的应用已停止支持该版本——我的银行应用自 2018 年起就要求使用 Android 5.0 或更高版本。

也许这个主题应该更名,因为它并不专门针对旧手机。本质上,这是缺乏向后兼容性的问题,这意味着随着 Discourse 开发的推进,越来越多的人将无法阅读 Discourse 中存储的内容,也无法参与贡献。

我意识到你们将此问题归类为“不予修复”,这没问题,但请记住,最重要的始终是内容。你们光鲜的界面固然不错,但如果它妨碍了我查看内容(确实如此),那它就基本上毫无用处。而“买一部 iPhone

这一说法是错误的。您使用的是七年前版本的 Android,而 Discourse 的开发始于 2013 年。此外,您使用的浏览器也非常非标准。让我们看看 2020 年 1 月全球移动浏览器的市场份额:

  • Chrome:64.1%
  • Safari:17.21%
  • Firefox:4.7%
  • Samsung Internet:3.33%
  • UC Browser:2.61%
  • Opera:2.26%
  • Edge Legacy:2.17%
  • IE:1.68%
  • Android:0.54%
  • 其他:1.41%

Lightning 和 Mi Browser 属于那 1.41% 的“其他”类别。基于此,我预期不会投入任何兼容性努力——如果某功能能正常工作,那很好。当它停止工作时(这只是何时的问题,而非是否的问题),就该换用更好的浏览器了。

我认为这不公平。根据支持浏览器的列表,没有任何功能被破坏。您没有权利在此要求修复,就像没有人能强迫您使用其他浏览器一样。如果您不想换用更好的浏览器,那么情况就不会改变。

Android 4.4 的扩展支持已于 2017 年 10 月结束。那个日期也早已过去。

我不认为我说过任何不实之词。有一天我还能在手机上的 Discourse 论坛上使用,第二天就不行了。

有多少人看到过“很抱歉,您的浏览器版本过低,无法在此 Discourse 论坛上运行。请升级您的浏览器。”这条消息,却无能为力?幸运的是,我了解这些技术原理,并花时间在此注册并提及此事。可能还有很多其他人因此被拒之门外,无法阅读或参与基于 Discourse 的网站。我肯定不是唯一一个收到该错误信息的人。

正如我所说的,我有变通方法,所以这并不重要。

我理解你的意思,但这听起来就像“医生,我从悬崖跳下去时很疼”。你有一个简单的解决办法:使用你平台的标准浏览器。