- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在 amp 文档上实现 Disqus。我的想法是使用 amp-iframe
它加载一个只包含 Disqus 的小文档。我用过这个放大器框架
<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>
Refused to load the script 'https://a.disquscdn.com/next/embed/lounge.load.f3e1717b71e7256da258d3a504e56865.js' because it violates the following Content Security Policy directive: "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 'unsafe-eval' https://mobile.adnxs.com/mob https://ssl.google-analytics.com".
https://a.disquscdn.com/next/embed/lounge.load.f3e1717b71e7256da258d3a504e56865.js
即使
a.disquscdn.com
被允许。此限制来自 iframe disqus 的使用。当我使用原生沙盒时,这不是问题
<iframe>
而不是
<amp-iframe>
.
最佳答案
它似乎是此错误的一个实例:
https://code.google.com/p/chromium/issues/detail?id=541221
同样的事情 如果使用沙箱属性,则使用标准 iframe 会发生。
添加 allow-same-origin
到您的沙箱定义似乎可以解决它。我注意到它现在在 Firefox 中也是一样的,尽管该错误中的评论(尽管 Firefox 没有明确列出错误)它在那里工作。所以也许这就是它应该如何工作?不能说我对沙箱属性的了解足以告诉您这一点。
然而,顺便说一句,我不确定这是否是一个好主意。您将拥有此页面的非 AMP 版本吗?就我个人而言,我不认为仅 AMP 页面的情况,因为我认为这会限制您,因为 1) 在 AMP 中并非一切皆有可能,2) 某些客户端不会加载它(例如,如果没有 javascript,或者不了解 AMP ),所以我也更喜欢有一个真正的 HTML 页面。但是,如果您确实有单独的 HTML 和 AMP 页面,那么它们将分别跟踪评论(除非您将非 AMP 页面加载到此 iframe 中并以某种方式隐藏除评论之外的所有内容 - 但这似乎完全是浪费!)。
因此,我目前实现的方法是向我的 AMP 页面添加一个“单击此处查看评论”链接,将它们带到完整页面 - 带有评论。不是一个很好的解决方案,但至少将评论放在一起。
关于amp-iframe 内的 amp 页面上的 Disqus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34520908/
我是一名优秀的程序员,十分优秀!