Я пытаюсь реализовать Disqus на документе усилителя. Моя идея - использовать , который загружает небольшой документ, содержащий только Disqus. Я использовал этот усилитель кадрDisqus на странице amp внутри amp-iframe
<amp-iframe width="300" height="300"
layout="responsive"
sandbox="allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-scripts"
resizable
frameborder="0"
seamless
src="/disquss/name-of-blog-post">
<div overflow tabindex=0 role=button aria-label="Read more">more!</div>
</amp-iframe>
Однако хром бросает нарушение политики безопасности контента:
Отказался, чтобы загрузить скрипт «https://a.disquscdn.com/next/embed/lounge.load.f3e1717b71e7256da258d3a504e56865.js» , потому что он нарушает следующее содержание директивы политики безопасности: " скрипт-Src https: // .twitter.com: https://api.adsnative.com/v1/ad.json * .adsafeprotected.com https://cas.criteo.com/delivery/0.1/napi.jsonp.services.disqus.com: http://referrer.disqus.com/juggler/ disqus.com HTTP: // .twitter.com: a.disquscdn.com https://referrer.disqus.com/juggler/ https: // .services.disqus.com: * .moatads.com 'небезопасным-Eval' https://mobile.adnxs.com/mobhttps://ssl.google-analytics.com ".
Таким образом, хром не загружается https://a.disquscdn.com/next/embed/lounge.load.f3e1717b71e7256da258d3a504e56865.js
, хотя a.disquscdn.com
разрешен. Это ограничение исходит от использования iframe disqus. Это не проблема, когда я использую встроенную песочницу вместо <amp-iframe>
.
Мне понравилось создавать пример, но из-за конструкции iframe я не могу просто создать jsfiddle.
Обсудить ожидает Параметр с URL-адресом страницы, поэтому разные разделы комментариев не будут проблемой. Также да, я пытаюсь выполнить полную страницу amp только для проверки. Я попробую добавить этот атрибут песочницы позже, но в прошлый раз, когда я попробовал, он ничего не делал. Я также добавил атрибут sandbox к нормальному Iframe, и это действительно сработало (но возможно, что я сделал что-то не так.) – Nemo64
'allow-same-origin' работает, но amp-iframe имеет одно ограничение:« Они не должны быть в том же самом происхождении, что и контейнер, если только они не позволяют разрешать одинаковое происхождение в атрибуте песочницы ». Я действительно не понимаю, почему это ограничение существует, но если я использую другой домен, чем все в порядке. – Nemo64
Да, я тоже этого не понимаю. Полагаю, они хотят, чтобы вы не использовали это как работу, чтобы притворяться, что это документ AMP, когда это не так. Кроме того, запутанная формулировка «не использует одно и то же происхождение, если разрешить-то же самое происхождение не установлено»?!? Интересное предложение о передаче правильного URL-адреса Disqus. Должно заглянуть в это больше, поскольку в настоящее время я использую настройки по умолчанию, которые получают его из URL-адреса страницы. Возможно, будет возможно получить эту работу над документом AMP ... –