На сайте, который мы поддерживаем, мы недавно обнаружили, что определённый ресурс не отображается в виде одной карточки (появляется большое пустое пространство). Мы могли бы просто заблокировать этот домен для отображения в виде одной карточки, но это нарушит отображение форума, размещённого на поддомене этого сайта. Возможно ли разрешить поддоменам отображаться в виде одной карточки, не разрешая это для основного домена?
Например, этот onebox главной страницы не работает (https://replit.com/@Firepup650/Yeehaw):
https://replit.com/@Firepup650/Yeehaw
А вот поддомен (Discourse) работает нормально (https://ask.replit.com/t/my-intro-i-guess/20705):
https://ask.replit.com/t/my-intro-i-guess/20705
К сожалению, я не думаю, что это возможно, согласно этой теме:
Похоже, что-то не так со ссылкой, создающей большое пустое пространство. В предварительном просмотре я заметил, что она пытается отобразить большое изображение логотипа «Replit». Возможно, изображение, используемое на таких страницах, ломает onebox? Решение этой проблемы может помочь им корректно отображаться.
Существует специальный скрипт для onebox-ов Replit:
Когда мы вставляем ссылку на Replit, в редакторе отображается ожидаемый результат:
Однако при обработке поста ссылка преобразуется в пустой iframe.
<iframe width="695" height="521" frameborder="0" data-unsanitized-src="https://replit.com/@Firepup650/Yeehaw?embed=true" seamless="seamless" sandbox="allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-presentation">
#document
<html>
<head></head>
<body></body>
</html>
</iframe>
Не знаю, проблема ли это в Replit или в скрипте onebox. Думаю, скорее в скрипте, но я не программист ![]()
Хотя у ссылки корректные теги Open Graph: https://developers.facebook.com/tools/debug/?q=https%3A%2F%2Freplit.com%2F%40Firepup650%2FYeehaw
На самом деле мне удалось настроить так, чтобы Discourse не создавал превью (onebox) для replit.com, но создавал их для ask.replit.com. По какой-то причине это сработало только один раз. После этого превью блокировались для обоих доменов. Странно.
Я помогаю администрировать тот же форум, что и Firepup
После явного разрешения для Replit iframe следующий код iframe (который, кажется, похож на то, что опубликовал @Canapin) работает корректно:
<iframe frameborder="0" width="500px" height="500px" src="https://replit.com/@Firepup650/Yeehaw?embed=true"></iframe>
Ручное тестирование подтверждает, что проблема заключается именно в этой части iframe. Изменение на просто src работает как ожидается (см. третий пост в этой теме)

