- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 jekyll based blog在 github pages评论由 Disqus 提供。或者更准确地说:他们过去常常由 Disqus 提供服务。我发现,Disqus 的内容无法加载。
在 Chrome 中,我在控制台中看到以下错误:
Refused to load the script 'data:application/javascript;base64,KGZ1bmN0aW9uKCkgewoJdmFyIG5vb3BmbiA9IGZ1…gpKTsKCQkJfQoJCX0KCX0pKCk7Cgl3aW5kb3cuX2dhcSA9IGdhcS5xZiA9IGdhcTsKfSkoKTs=' because it violates the following Content Security Policy directive: "script-src https://.twitter.com: https://a.disquscdn.com .services.disqus.com: https://c.disquscdn.com http://.twitter.com: https://apis.google.com/js/api.js http://a.disquscdn.com https://cdn.syndication.twimg.com/tweets.json https://.services.disqus.com: https://connect.facebook.net/en_US/sdk.js https://referrer.disqus.com/juggler/ 'unsafe-eval' a.disquscdn.com http://disqus.com https://ssl.google-analytics.com https://disqus.com".
我一开始以为 Disqus 在做傻事,但我发现 this article这让我觉得我做错了什么,比如使用 jquery 加载 Disqus。但我看不出是什么导致了这个问题。
我的另一个想法是,也许我的 cookie 横幅或 privace badger 导致了问题,但 Privacy Badger 配置为仅阻止网站上的谷歌分析,即使允许这样做,也无法使其正常工作。
在本地运行 jekyll serve
时,一切都按预期工作。
我暂时将 cookie 横幅排除在问题的根源之外,对 Disqus 没有任何影响
我不认为this SO question是同样的问题,因为我没有 iframe。
我的实际问题由三部分组成:
最佳答案
在您的 disqus_config
中,您有:
this.page.url = 'http://blog.schauderhaft.dehttp://blog.schauderhaft.de/';
因为硬编码的基本 URL 和 | 的组合前置:site.url
in _includes/disqus.html
:
this.page.url = 'http://blog.schauderhaft.de{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}';
这应该可以正常工作:
this.page.url = '{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}';
如果禁用所有扩展,CSP 错误应该会消失。这可能是 Disqus 试图解决他们在启用 CSP 时无法正确测试的阻止程序;没有来源很难说。
关于github-pages - github 页面上 Disqus 的 CSP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41530097/
我是一名优秀的程序员,十分优秀!