我有一个 https
页面,其中嵌入了 disqus
用于对发布的数据进行评论。问题是,当页面在 chrome
中加载时,它会阻止 disqus 代码
执行,因为它是从 http
主机提供服务的。
具体来说:
script(type="text/javascript")
var disqus_shortname = 'postocks';
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
所以 disqus 不会在 Chrome 中加载。在 Firefox、Safari 中运行良好。
我厌倦了通过以下方式修复它:
- 将 dsq.src 制作为
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
它不起作用。 - 我之前已经看到 jquery 文档部分使用了相同的内容。现在尝试该页面,以便我可以引用代码。 Disqus 似乎已被删除。
有什么修复可以让它在 https 页面上工作吗? 另外,如果我在 https 主机上获取 embed.js 并提供服务,这会有所不同吗? 请提出建议。
最佳答案
简单地,使用 https
加载 Disqus 内容,如所述 here .
dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
关于javascript - disqus 不适用于 Chrome 中的 https 页面。有什么解决办法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14373498/