Provo ad implementare Disqus su un documento di ampli. La mia idea è di usare un che carica un piccolo documento che contiene solo Disqus. Ho usato questa cornice ampliDisqus su una pagina di ampli all'interno di un 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>
Tuttavia, Chrome lancia una violazione delle norme di sicurezza dei contenuti:
Rifiutato di caricare lo script 'https://a.disquscdn.com/next/embed/lounge.load.f3e1717b71e7256da258d3a504e56865.js' perché viola la seguente direttiva politica di sicurezza contenuti: " script 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 'insicuro-eval' https://mobile.adnxs.com/mobhttps://ssl.google-analytics.com ".
Quindi, fondamentalmente, Chrome non caricare https://a.disquscdn.com/next/embed/lounge.load.f3e1717b71e7256da258d3a504e56865.js
anche se a.disquscdn.com
è permesso. Questa restrizione proviene da usi di iframe disqusti. Questo non è un problema quando utilizzo un sandboxed nativo anziché <amp-iframe>
.
Mi piacerebbe creare un esempio, ma a causa del costrutto iframe non posso semplicemente creare un jsfiddle.
Discuss si aspetta un parametro con l'URL della pagina in modo che le diverse sezioni di commento non costituiscano un problema. Inoltre sì, provo una pagina completa dell'amplificatore solo per testare. Proverò ad aggiungere l'attributo sandbox in seguito, ma l'ultima volta che l'ho provato non ha funzionato. Ho anche aggiunto l'attributo sandbox al normale Iframe e questo ha funzionato (ma è possibile che abbia fatto qualcosa di sbagliato lì.) – Nemo64
'allow-same-origin' funziona ma l'amp-iframe ha una limitazione:" Non devono trovarsi nella stessa origine del contenitore a meno che non consentano allow-same-origin nell'attributo sandbox. ". Non capisco davvero perché questa limitazione è lì, ma se io uso un dominio diverso da quello che va bene. – Nemo64
Sì, non capisco neanche questo. Immagino che vogliono che tu non lo usi come un tentativo di far finta che sia un documento AMP quando non lo è. Formulazione anche confusa "non usare la stessa origine a meno che non sia impostata l'autorizzazione-stessa origine"?!? Suggerimento interessante sul passaggio dell'URL corretto a Disqus. Deve esaminarlo di più poiché attualmente utilizzo i valori di default che ottengono dall'URL della pagina. Forse sarà possibile ottenere questo lavoro sul documento AMP ... –