Discourse 在旧版浏览器上无法加载

我记得这对于某些浏览器(IE < 10?)来说是必不可少的,因为在进行特性检测后,无法通过 JavaScript 访问 <noscript> 标签。我想 @dan 几年前就处理过这个问题?

请注意,目前有两种备用“模式”:

  1. 提供爬虫视图。不需要 JS。这取决于 browser_update_user_agents

  2. 提供完整应用,进行特性检测,并通过移动 <noscript> 内容到 <body> 来进行回退。这不基于用户代理。

问题在于(2)在移动设备上不起作用,因为服务器没有渲染任何 <noscript> 内容。我们需要修复这个问题,同时不破坏(1)对超旧浏览器的支持。

7 个赞

那是正确的。旧版 IE 不允许读取 <noscript> 的内容。

5 个赞

我建议我们将步骤更新为:

@sam,你打算如何实现(2)?在核心中维护一个“现代”用户代理匹配器列表?然后我们在稳定发布周期中将它们升级?

5 个赞

是的,大概是这样,说实话这周对我来说希望不大,没能挤出多少编程时间

很可能我会把这项工作转交给别人,您修改后的行动计划听起来很棒

2 个赞

请原谅我的知识匮乏……我尝试查找答案但一无所获……

像上面的拉取请求,需要多长时间才能被“合并”?

意思是,我将进入我的 Discourse 管理面板,它会提示更新,并且上面的内容将被实现。

看起来有一些评论需要解决,但它可能会在接下来的 24 小时内合并。合并后我们会在此更新。然后,假设您在 tests-passed 上,您就可以访问论坛上的 /admin/upgrade 来获取更改。

5 个赞

不确定那是什么,但我想我是 :woozy_face:

太棒了,谢谢你 @david

2 个赞

在 iPhone 5 的 BrowserStack 上,通过本地代理,我看到一个白页,即使我调整了 include_crawler_content? 并将其设置为 true。\n\n可能有一些 ember cli 在本地进行的操作导致此测试失败。\n\n在生产环境的 iOS 7 上,它看起来确实是按设计损坏的。(没有内容,因为我们不提供它)\n\n测试修复将相当棘手,但我想我可以在本地伪造一些东西。\n\n

\n\n----\n\n关于\n\n> 什么是现代移动浏览器?\n\n- iOS 14+\n- Android + Chrome 88+\n- Android + Firefox 85+\n\n这应该能覆盖我们 95% 的移动流量,因此有效载荷节省非常可观,风险也极低。\n\n@Falco 我是否遗漏了任何浏览器?Firefox 在 Android 上只是杯水车薪,绝大多数似乎都只使用 Chrome。

5 个赞

3 个帖子已拆分为新主题:支持“Adblock Browser”

昨天似乎又出错了。我的浏览器显示一个白页,没有任何错误消息,并且在三个论坛中的两个论坛上,应用程序也出现同样的问题。

1 个赞

在 Meta(本网站)上也是如此吗?

是的,meta.discourse.org 返回空白页,community.jenkins.io 也是如此,与最初的投诉相同。可以确认问题始于周三。

3 个赞

哎呀,我们会尽快解决的,感谢您提出这个问题。

3 个赞

这是移除 IE11 作为我们 JS 构建目标后产生的意外副作用。应该可以通过以下方式修复:

将尽快合并并部署。

8 个赞

这已部署到 Meta,我们的大多数托管客户(包括 http://community.jenkins.io/)。网站现在应该可以在 iOS 12 下重新加载。感谢您报告此问题,@wake@Ian_W

8 个赞

很高兴看到它又开始工作了。我非常感谢您所做的所有努力。

现在只是一个奇怪的观察。我输入网址,按回车键,进度条缓慢完成。然后我最初会得到一个空白页,但大约 6-7 秒后,内容就会出现!这以前只需要大约一秒钟(所以之前并不怎么明显)。奇怪。

这是 Firefox 的一个问题。

此主题已在 2 天后自动关闭。不再允许回复。