Как использовать Disqus с AMP?

Я пытаюсь преобразовать статью с комментариями Disqus внизу в AMP. Для этого я использую <amp-iframe/>:

<div id="disqus_thread">
    <amp-iframe
        src="https://disqus.com/embed/comments/?https&base=default&version=11a9d09102788744769550f3928faf15&f=<<DISQUS ID GOES HERE>>&t_u=<<DISQUS SITE URL GOES HERE>>&s_o=default"
        sandbox="allow-same-origin allow-forms allow-modals allow-scripts allow-popups"
        layout="responsive"
        frameborder="0"
        width="600" height="500">
    </amp-iframe>
</div>

Загружается iframe, и кажется, что загружаются все его зависимости скрипта, но ничего не отображается. Если вы проверите содержимое iframe, Disqus напечатает сообщение о том, что Disqus не удалось загрузить. Я не знаю, как отлаживать его отсюда. Есть ли что-то, что мне не хватает, или я должен подходить к этому по-другому?

Кроме того, лента комментариев, такая как Disqus, работает с произвольной высотой, определяемой плагином. Поэтому я, вероятно, не могу установить фиксированную высоту в iframe. Что мне нужно сделать, чтобы заставить это работать правильно?


person Rahul    schedule 26.01.2016    source источник
comment
Возможный дубликат этого: stackoverflow.com/questions/34520908/   -  person Barry Pollard    schedule 26.01.2016
comment
@BazzaDP Нет, это не дубликат этого. Я уже прочитал это и убедился, что это другая проблема (этот человек пытается загрузить локальную страницу в amp-iframe, который затем загружает Disqus)   -  person Rahul    schedule 26.01.2016
comment
В этом обсуждении я прочитал, что ваш аккаунт зарегистрированы на два канала, которые не предназначены для загрузки где-либо, кроме как на странице канала Disqus.com. Вот несколько причин, по которым вы можете получить это сообщение.   -  person abielita    schedule 27.01.2016
comment
@abielita Спасибо, но это не так - эта конкретная учетная запись Disqus работает в реальном времени последние пять лет. Я также настроил доверенные домены, чтобы включить localhost. Если он не загружается из-за того, что некоторые переменные javascript не были установлены, я не знаю, как это исправить в рамках ограничений AMP (который запрещает произвольный javascript на странице).   -  person Rahul    schedule 27.01.2016
comment
Это ссылка может помочь. Возможно, у вас неправильно отформатированы переменные конфигурации JavaScript.   -  person abielita    schedule 29.01.2016


Ответы (2)


Вы следовали инструкциям здесь? https://github.com/disqus/disqus-install-examples/tree/master/google-amp

Я установил его на verdict.justia.com/ (проверьте версию усилителя в любом посте), и это был довольно простой процесс.

Следует отметить, что скрипт на шаге 1 должен быть размещен на другом сайте с включенным SSL, поскольку источником в iframe должен быть https.

Кроме того, вы добавили свой домен в раздел «Доверенные домены»? в настройках Disqus? Я считаю, что это проблема.

Раздел Доверенные домены

person Luis Franco    schedule 17.10.2016

Я думаю, что ваш src должен быть другим. Вы должны разместить свой universal code file в другом домене, который должен быть доступен с помощью https. В основном я предпочитаю создать еще один субдомен своего домена и установить новый сертификат для этого нового субдомена. src должно совпадать с subdomain URL (например, https://subdomain.example.com#hash). См. https://github.com/disqus/disqus-install-examples/tree/master/google-amp

полностью. Вы также можете ознакомиться с моей реализацией здесь https://www.wiki11.com/articles/touch-chesi-chandu-wiki-review-songs-rating-movie-release-date-photos

Или Вы можете получить дополнительные ссылки здесь https://github.com/disqus/disqus-install-examples/issues/3. Здесь они изменили окончательный универсальный HTML, который находится в рабочем состоянии.

person Neeraj Kumar    schedule 14.02.2018