嵌入式谷歌地图停止工作

我在帖子中通过单行写入链接嵌入了地图。它完美运行了几天,直到突然失效……但我不明白原因。
链接本身是正常的,同一张地图在我的另一个 Discourse 实例中也能正常嵌入。

它生成了一个空的 iframe:


iframe 链接是 https://www.google.com/maps/d/embed?mid=1MisLV7Ag0x8vMU5dSww1uWnQQxVgzO8e

我没有更改任何相关设置,并且我的允许 iframe 列表中仍然包含 https://www.google.com/maps/d/embed?
JS 控制台没有报错,日志中也没有任何记录。安全模式也无法解决问题。

有没有人知道为什么地图不再加载了?

编辑:
不过,如果我直接在帖子中粘贴这段 iframe HTML 代码,iframe 内容就能正常显示。:thinking:

1 个赞

我粘贴了这个链接:https://www.google.com/maps/d/embed?mid=za0Bx0koO4sk.kHCbG4TApEP4
在我的两个 Discourse 论坛的单行中。

它在其中一个论坛上可以正常工作,生成的代码如下:

<div class="maps-onebox">
<iframe src="https://www.google.com/maps/d/embed?mid=13xLbRXoFU-UIUoTiOwJdvLzkoUw" width="690" height="400" frameborder="0" style="border:0" seamless="seamless" sandbox="allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-presentation"></iframe>
</div>

在无法工作的论坛上,生成的代码如下:

<div class="maps-onebox">
<iframe width="690" height="400" frameborder="0" style="border:0" data-unsanitized-src="https://www.google.com/maps/d/embed?mid=za0Bx0koO4sk.kHCbG4TApEP4" seamless="seamless" sandbox="allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-presentation"></iframe>
</div>

请注意,在无法工作的论坛中,iframe 上有一个 data-unsanitized-src 属性。

两个论坛都使用了 2.6.0.beta3(b8015ab654 )。

我也可以在 try.discourse.org 上复现此问题:

https://try.discourse.org/t/try-gmap-embed-stuff/1499

请注意,生成的 iframe 也包含一个 data-unsanitized-src 属性。

1 个赞

他们更改了嵌入路径吗?我注意到在测试环境中,默认的“允许的 iframe”列表中包含 https://www.google.com/maps/embed?,但不包含 https://www.google.com/maps/d/embed?

我刚刚将 https://www.google.com/maps/d/embed? 添加到白名单中,重新生成了帖子,现在它们在测试环境中可以正常显示了。

5 个赞

我已经在允许的 iframe 中包含了 https://www.google.com/maps/d/embed?,在我的论坛上一直正常工作,直到今天。:thinking:

编辑:iframe 现在在 try.discourse 上可以正常使用了。我想你是不是在那里添加了 /d/embed 路径 @supermathie

无论如何,尽管我的论坛已经允许了这个 URL,但它仍然无法正常工作……:confused:

1 个赞

我重新烘焙了我的帖子,它又开始工作了。:+1:

生日快乐。

3 个赞

是的,请查看上面的帖子。

:+

后续问题:我们是否应该将此路径添加到默认设置中?

4 个赞

不确定。我刚尝试嵌入一个 Google 地图,得到的 URL 没有 /d/ :man_shrugging:

@Canapin 你是怎么得到那个嵌入 URL 的?

我获得了这个地图 URL:https://www.google.com/maps/d/u/0/viewer?mid=1MisLV7Ag0x8vMU5dSww1uWnQQxVgzO8e&ll=30.174583250700085%2C-30.06865476191399&z=3,来自https://sites.google.com/view/openunicyclecalendar/open-unicycle-map

如果没有 /d/,它就无法正常工作,而且点击汉堡菜单 → 嵌入 后分享的链接中也包含 /d/。

1 个赞

谢谢,看来这些是用户生成的地图?不确定它们是否足够流行,值得设为默认选项🤔

既然我们有一个简单的变通方法,我打算等到收到3份报告后,再将该 URL 添加为默认选项。

3 个赞

遇到同样的问题,旧地图显示正常,新地图无法显示。
无法访问我们的核心,因此无法重新烘焙帖子。

在上方列表中添加 /D/ 后,我现在可以让链接作为 iframe 工作……但不仅仅作为“单行链接”工作。

这正是我遇到的问题。我的 iframe 授权 URL 中本来就有 /d/,所以我仍然不明白为什么它先停止工作,后来又恢复了。
我唯一做的就是先从授权 URL 中移除 /d/,然后再添加回来……:person_shrugging:
(而且无论如何我之后都需要重新烘焙)

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.