我正在使用以下代码在通过 HTTPS 加载的页面上加载 Disqus,如本答案中所建议的那样。
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = 'our-shortname';
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js?https';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
请注意,我已将 embed.js 的请求更改为https
而不是http
,并且我也已添加?https
到请求的末尾,我认为这应该强制使用 HTTPS。
初始请求按计划通过 HTTPS 进行,但它通过 HTTP 发出辅助请求,这是 Chrome 讨厌的(我得到了挂锁图标上的红色叉号)。
从 Chrome 控制台:
The page at https://our-website.com/blog-post-name ran insecure content from http://juggler.services.disqus.com/event.js?thread=635675380&forum=our-shortname...[long query string]
这是让 Disqus 在所有请求上使用 ssl 的正确方法,还是我错过了一步?
谢谢。