Falco
(Falco)
34
这个怎么样 @david
if (!String.prototype.replaceAll) {
String.prototype.replaceAll = function(str, newStr){
// 如果是正则表达式模式
if (Object.prototype.toString.call(str).toLowerCase() === '[object regexp]') {
return this.replace(str, newStr);
}
// 如果是字符串
return this.split(str).join(newStr);
};
}
我更改了您分享的解决方案的字符串分支,因此它可以修复将字符串转换为正则表达式而无需转义的问题。
4 个赞
david
(David Taylor)
35
我不认为当一个函数被用作第二个参数时,它会起作用:
"my string with my example".replaceAll("my", (match) => `test${match}`)
(有关该函数的文档可以在此处找到)
5 个赞
PdxRick
(Rick Dwyer)
36
我使用的是运行 iOS 版本 12.5.5 的 iPad Air。这款平板电脑可用的最新版 Chrome 浏览器无法加载 Sketchup 论坛。我看到了与之前几篇帖子中提到的相同的横幅消息。除了升级到新 iPad 之外,还有没有办法解决这个问题?
Falco
(Falco)
38
嗯,虽然这解决了在 MacOS Mojave 上使用 Discourse 的问题,但似乎 iOS 12.5.5 也未能通过我们的 globalThis 检查。
我们要不要也 为其添加 polyfill?
4 个赞
Ian_W
39
是的!该网站(Discourse 和 Community.Jenkins.io)似乎在旧版浏览器上又能正常工作了;我可以看到内容(在 Jenkins 和这里)并且可以发帖。
非常感谢您为解决此问题所付出的所有努力;这似乎比我预期的要复杂得多。
现在,如果我能说服 StackOverflow 撤销他们的破坏性更改(第二次),并为旧版浏览器恢复功能。他们曾经这样做过,但他们现在的态度似乎是责怪用户。
4 个赞
tutibins
(Tuti Bins)
40
是的,该论坛在 iOS 12.2 上又能正常使用了,不过 https://support.last.fm/ 仍然无法访问(也许他们需要更新什么东西?)
再次感谢您花时间修复它
sam
(Sam Saffron)
41
请记住,我们最大的重点是不要破坏旧浏览器。即使在旧式浏览器上,白屏也是完全不可接受的。只读视图是可以接受的。
这里棘手的事情是,我们有一些处于“黄昏状态”的浏览器,它们既不是完全支持,也不是完全不支持,可悲的是它们出现了白屏问题。
我们正在考虑未来更好的方法,以避免随着我们最低浏览器版本号的不断提高而经常遇到这些问题。
7 个赞
为了澄清一下,我们的一些用户在 https://support.last.fm/ 上仍然报告问题:Mobile view of this forum is broken - #6 by tutibins - Get Help - Last.fm Support Community
这个修复程序是否已部署到托管站点?
如果是这样,那将表明我们正在使用的某个主题/组件或我们的自定义 CSS 导致其损坏,但如果修复程序尚未部署,我不想去摆弄那些东西。 
再次感谢您对此事的关注。
1 个赞
david
(David Taylor)
43
嗨 Jon - 此更改尚未部署到我们所有托管的网站。但我现在就开始处理这个流程 - 它应该会在大约一小时内推送到你的网站。
3 个赞
PdxRick
(Rick Dwyer)
46
sam
(Sam Saffron)
50
由于仍有人遇到问题,我将重新开放此问题。
计划:
- 删除
browser_update_user_agents,我们不再希望使用它进行功能检测。
- 添加
optimise_traffic_on_modern_mobile_browsers(默认为 true)- 如果用户拥有受支持的移动浏览器(现代 Chrome/Safari),我们将通过避免传输 HTML 有效负载来优化流量。
- 对爬虫/HTML 视图进行一些基本的设计工作 - (改进样式/填充/边距)等,由 @Designers 负责。
@Falco 你觉得怎么样?
我下周会看看是否能处理此事,如果不行,下下周会安排内部人员处理。
6 个赞
Falco
(Falco)
54
听起来不错 
在 Meta 上测试时要小心,这里的无表格设计实验让我们的爬虫视图退步了不少。
早期 iOS 12 上的用户仍然无法启动应用程序,因为他们缺少 window.globalThis。您可以在 Browserstack 上轻松重现此问题。我们需要为那些用户发布 HTML 无脚本内容。您的计划步骤 1 将解决这个问题。
5 个赞
sam
(Sam Saffron)
62
看起来很棒,我也在 PR 上留了评论。Google 会进行移动优先索引,因此我们必须仔细测试移动分辨率,因为这是此视图的通用消费者。
5 个赞