在移动Chrome中分享帖子会返回根URL

我最近发现,在移动端的 Chrome(Android)上打开 Discourse 帖子后,若通过浏览器的“分享”菜单选择 Outlook、信息或其他应用进行分享,系统总是转发 Discourse 的根 URL(例如 https://discourse.domain.org),而不是我想要分享的实际帖子 URL。

1 个赞

澄清一下:

  • 帖子分享功能正常,使用的是原生 Web 分享 API。

  • 帖子时间戳功能正常,会打开 Discourse 工具提示并显示当前 URL。

点击浏览器三点菜单后再点击分享会失败。自 64 版本起,Chrome Android 引入了一个新“功能”,即使用页面的规范链接(canonical)进行分享。我们仅在服务器端生成规范链接,因此在单页应用(SPA)导航时它不会更新。Android 分享菜单功能会被锁定在首次加载的页面上。

此问题自 2019 年 1 月 23 日(时区:America/Sao_Paulo)发布 Chrome 64 以来似乎一直存在,因此并非高频使用场景。这主要是因为我们通过相同的 API 提供了易于访问且更精确的帖子级分享按钮。此外,处于 PWA 模式的用户也无法访问三点菜单。

修复方案意味着需要在客户端也计算并更新规范链接,这将导致一些令人头疼的代码重复,且最终会出现不一致。另一种策略是在每次响应时向服务器请求规范链接。

4 个赞

谢谢提供的信息。我知道可以使用 Discourse 的分享功能,但我已经习惯了使用浏览器的分享选项,因为我在任何网页上都会这样用。这并不关键,而且我在 Discourse 上也不太常用这个功能,因为我是最近才注意到它的。不过,如果能恢复正常使用就好了。

1 个赞

此问题已由 @pmusaraj 修复。

4 个赞

此主题在 47 小时后自动关闭,不再允许新回复。

重新打开此问题,因为它被报告为对此修复的回归。

3 个赞