移动网页上的话题空白屏幕:管理员控制台中的TypeError

iOS vs13.3.1
Mobile Chrome v80.0.3987.95

我访问了论坛上的一个主题,但页面只加载了标题(在一种情况下甚至加载了两次,详见下方错误输出后的截图)——实际上相当于一个空白页面。当时我已登出。尝试刷新、打开新页面并重新加载,以及关闭应用后重新加载,均未能解决问题。在移动设备上很难进行诊断。

我在桌面端无法复现此问题。

从我的管理员错误日志中,我能够关联到同一时间发生的两个错误:


# 第一个错误 8:09pm

TypeError: undefined is not a function (near '...l.replace...') Url: https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js Line: 1 Col

https://community.redwoodjs.com/assets/pretty-text-bundle-b028b1d5eed228f191f4f25757a12c99d1209f6a9ce91f98c6d378dd3589df7d.js:1:88120
https://community.redwoodjs.com/assets/application-c72a723208a0a310c886f34a1d7e6157d4a403f74e04829c4d23643ffea3593c.js:1:1218167
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:112413
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:419530
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:409113
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:422544
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:422239
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:415154
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:449567
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:449160
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:449067
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:474873
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:142193
V@https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:187610
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:145561
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:145879
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:145269
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:144382
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:144109
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:490070
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:489056
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:491075
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:496504
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:493039
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:497040
e@https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:29468
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:29788

# 第二个错误 8:51pm

TypeError: undefined is not an object (evaluating 'e.position().top') Url: https://community.redwoodjs.com/assets/application-c72a723208a0a310c886f34a1d7e6157d4a403f74e04829c4d23643ffea3593c.js Line:

l@https://community.redwoodjs.com/assets/application-c72a723208a0a310c886f34a1d7e6157d4a403f74e04829c4d23643ffea3593c.js:1:208270
t@https://community.redwoodjs.com/assets/application-c72a723208a0a310c886f34a1d7e6157d4a403f74e04829c4d23643ffea3593c.js:1:208295
scrolled@https://community.redwoodjs.com/assets/application-c72a723208a0a310c886f34a1d7e6157d4a403f74e04829c4d23643ffea3593c.js:1:1095126
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:490059
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:489056
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:491075
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:496504
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:493039
https://community.redwoodjs.com/assets/ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:1:497862
[native code]

如有任何我可以提供的进一步信息或有助于评估的步骤,请随时告知。

暂时将此移至 Support,直到我们能在其他网站上找到复现步骤。如果在此处或 try.discourse.org 上可以复现,则可将其视为 #bug。我尝试从手机浏览您网站上的相关主题,但完全无法复现空白页的问题。

首要问题始终是:在安全模式下是否正常工作?RedwoodJS Community

如果正常,则很可能是网站自定义设置所致——尽管如果是这种情况,我原本预期应该也会看到类似现象。

1 个赞

谢谢 @Stephen。我尝试在安全模式和非安全模式下复现该错误,但很遗憾未能成功。我怀疑该问题仅发生在用户未登录时。也许我登录后重置了缓存等,从而“修复”了该错误。

我忘了提到,错误最初是这样发生的:

  1. 在 Slack 应用中,我们使用了 Discourse 集成。我点击了集成机器人提供的主题链接,该链接在我的手机 Chrome 浏览器中打开。
  2. 我的 Chrome 浏览器未登录,结果收到了上述空白页面。

我的手机上安装了 Discourse Hub 应用。通常我会直接打开该应用来访问论坛和主题。

我们收到了越来越多的报告,指出访客在不同主题下浏览网站时出现此问题。我认为相关的管理员错误日志均显示为 TypeError: X is not a function 的某种变体,涉及 pretty-text-bundle 或 ember_jquery 资源(与原始帖子中的错误相同)。

→ 我刚刚升级到 2.5.0.beta3,如果问题得以解决,我会再次汇报。

复现步骤

我无法通过安全模式复现此错误。如果启用安全模式,错误就会消失。但随后即使“关闭”安全模式,我也无法再次复现该错误。

该主题曾通过 Web 浏览器以访客身份多次复现此错误:
:rocket: RWJS v0.6.0 现已发布

一位用户报告了来自 https://community.redwoodjs.com/logs/report_js_error 的输出,显示:
Rate Limited(请求频率受限)

我能够在自己的 Mac 上以访客身份通过 Safari 复现此错误及对应的 Rate Limited 提示。但同一主题在 Firefox 中(同样以访客身份)加载正常。

站点设置/托管

我们的站点使用了两个插件:

托管在 DigitalOcean 上,配置与提供的安装说明非常接近。

如果安全模式下问题消失,那很可能是你的主题导致的?

有可能,但里面挺普通的……

我会继续尝试。只是每次我以为找到了可复现的示例时,问题就自行解决了。

可能是缓存问题?我该如何检查?

如果在这里无法复现,那么问题 100% 出在你的配置上,不管怎样都是如此。

明白了。实际上,我在今年三月设置我们的网站时,就在 meta.discourse.org 上亲身经历过这个问题。当时我在 Google 上搜索关于 Slack 集成设置的资料,点击了一个话题链接,结果页面大部分是空白的,标题头重复显示了好几次(参见我原始帖子中的第二张截图)。当时我通过 Google 搜索的缓存版本绕过了该问题,之后便再未遇到过。而且,访问其他话题和首页也都一切正常。

真是奇怪。

我会继续排查,并一定会及时汇报进展。但愿随着 beta3 版本的更新,问题能 somehow 得到解决。:crossed_fingers:

最后,我们对 Discourse 感到非常非常满意,我们的社区在短短六周内就迅速成型。这让我深受鼓舞,也憧憬着有一天,当 RedwoodJS 经过一段时间的成长后,人们也会这样评价它。

谢谢。

2 个赞

您是否有使用代理或其他特殊配置?

更新
升级到 Beta3 似乎已解决了大多数报告问题的用户所遇到的问题。但愿如此!

关于:代理/设置
我的网络 DNS 使用的是 Cloudflare 1.1.1.1,除此之外没有进行任何自定义设置。

我在想这是否与广告拦截器有关——例如,有人报告称在 Chrome 无痕模式下可以正常工作,但在正常模式下却无法使用。

目前仍百思不得其解…

1 个赞