Встроенная карта Google перестала работать

Я встроил карту в пост, просто написав ссылку в отдельной строке. Всё работало отлично несколько дней, а потом перестало… И я не понимаю почему.

Ссылка работает, и встраивание той же самой карты работает в моём другом форуме на Discourse.

Создаётся пустой iframe:

Ссылка на iframe — https://www.google.com/maps/d/embed?mid=1MisLV7Ag0x8vMU5dSww1uWnQQxVgzO8e.

Я не менял никаких связанных настроек, и https://www.google.com/maps/d/embed? всё ещё находится в списке разрешённых iframe.

В консоли JS нет ошибок, в логах тоже ничего. Режим безопасной загрузки не помогает.

Есть ли у кого-нибудь идеи, почему карта больше не загружается?

edit:
Однако содержимое iframe отображается, если я напрямую вставлю HTML-код iframe в свой пост. :thinking:

Я вставил эту ссылку: 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.

Не изменили ли они путь к встраиваемым объектам? Я заметил на try, что в настройках по умолчанию для разрешённых iframe указан https://www.google.com/maps/embed?, но отсутствует https://www.google.com/maps/d/embed?. Я только что добавил https://www.google.com/maps/d/embed? в белый список, пересобрал сообщения, и теперь они работают на try.

У меня уже был добавлен https://www.google.com/maps/d/embed? в список разрешённых iframe, и это работало на моём форуме до сегодняшнего дня. :thinking:

edit: теперь iframe работают на try.discourse. Я полагаю, вы добавили /d/embed туда, @supermathie?

В любом случае, у меня на форуме это всё ещё не работает, несмотря на то, что этот URL разрешён… :confused:

Я пересобрал свои посты, и всё снова заработало. :+1:

И с днём рождения.

Да, см. пост выше.

:+1:

Дополнительно для нас: стоит ли добавить этот путь в настройки по умолчанию?

Не уверен. Только что попытался встроить карту 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/.

Спасибо, похоже, это карты, созданные пользователями? Не знаю, достаточно ли они популярны, чтобы сделать их включенными по умолчанию :thinking:

Так как у нас есть простое обходное решение, я подожду, пока не будет три сообщения, прежде чем добавить этот URL в список по умолчанию.

Та же проблема: отображаются старые карты, новые — нет. У нас нет доступа к ядру, поэтому мы не можем перекомпилировать посты.

После добавления /D/ в список выше я теперь могу получить ссылку для работы как iframe, но не только как «ссылку в одну строку».

Это была проблема, с которой я столкнулся. У меня уже был /d/ в списке авторизованных URL для iframe, поэтому я до сих пор не понимаю, почему это перестало работать, а затем снова заработало.
Единственное, что я сделал, — это удалил /d/ из авторизованных URL и добавил его снова… :man_shrugging:
(В любом случае мне пришлось пересобрать страницу).