Canapin
(Coin-coin le Canapin)
25.Сентябрь.2020 20:36:08
1
Я встроил карту в пост, просто написав ссылку в отдельной строке. Всё работало отлично несколько дней, а потом перестало… И я не понимаю почему.
Ссылка работает, и встраивание той же самой карты работает в моём другом форуме на 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 в свой пост.
Canapin
(Coin-coin le Canapin)
25.Сентябрь.2020 22:12:43
2
Я вставил эту ссылку: 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.
supermathie
(Michael Brown)
25.Сентябрь.2020 22:16:31
3
Не изменили ли они путь к встраиваемым объектам? Я заметил на try, что в настройках по умолчанию для разрешённых iframe указан https://www.google.com/maps/embed?, но отсутствует https://www.google.com/maps/d/embed?. Я только что добавил https://www.google.com/maps/d/embed? в белый список, пересобрал сообщения, и теперь они работают на try.
Canapin
(Coin-coin le Canapin)
25.Сентябрь.2020 22:20:41
4
У меня уже был добавлен https://www.google.com/maps/d/embed? в список разрешённых iframe, и это работало на моём форуме до сегодняшнего дня.
edit: теперь iframe работают на try.discourse. Я полагаю, вы добавили /d/embed туда, @supermathie ?
В любом случае, у меня на форуме это всё ещё не работает, несмотря на то, что этот URL разрешён…
Canapin
(Coin-coin le Canapin)
25.Сентябрь.2020 22:24:03
5
Я пересобрал свои посты, и всё снова заработало.
И с днём рождения.
supermathie
(Michael Brown)
25.Сентябрь.2020 22:24:29
6
Да, см. пост выше.
Дополнительно для нас: стоит ли добавить этот путь в настройки по умолчанию?
Не уверен. Только что попытался встроить карту Google, и получил URL без /d/
@Canapin , как вы получили этот URL для встраивания?
Canapin
(Coin-coin le Canapin)
29.Сентябрь.2020 11:27:24
9
Спасибо, похоже, это карты, созданные пользователями? Не знаю, достаточно ли они популярны, чтобы сделать их включенными по умолчанию
Так как у нас есть простое обходное решение, я подожду, пока не будет три сообщения, прежде чем добавить этот URL в список по умолчанию.
Та же проблема: отображаются старые карты, новые — нет. У нас нет доступа к ядру, поэтому мы не можем перекомпилировать посты.
После добавления /D/ в список выше я теперь могу получить ссылку для работы как iframe, но не только как «ссылку в одну строку».
Canapin
(Coin-coin le Canapin)
30.Сентябрь.2020 18:28:18
12
Это была проблема, с которой я столкнулся. У меня уже был /d/ в списке авторизованных URL для iframe, поэтому я до сих пор не понимаю, почему это перестало работать, а затем снова заработало.
Единственное, что я сделал, — это удалил /d/ из авторизованных URL и добавил его снова…
(В любом случае мне пришлось пересобрать страницу).