0

我有一个https嵌入页面,disqus用于评论发布的数据。问题是当页面被加载时chrome,它会阻止disqus code执行,因为它是从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 中运行良好。

我厌倦了通过以下方式修复它:

  1. 使 dsq.src 可以 dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';正常工作。
  2. 我之前已经看到 jquery docs 部分使用了相同的内容。现在尝试了该页面,以便我可以参考代码。Disqus 似乎已被删除。

有什么修复方法可以让它在 https 页面上工作吗?此外,如果我在我的 https 主机上获得 embed.js 并提供服务,那会有所不同。请建议。

4

1 回答 1

3

简单地说,使用 加载 Disqus 内容https,如此所述。

dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
于 2013-01-17T06:48:14.390 回答