不会在我的Jekyll网站上的任何浏览器中加载Disqus

时间:2018-07-14 08:02:17

标签: jekyll disqus

我正在与Jekyll合作开发GitHub Pages。 Disqus代码位于_includes/disqus.html中,并具有以下代码:

<div class="comment">
<button class="show-comments"><i class="fa fa-comments" aria-hidden="true"> Load/Add comments</i></button>
<div id="disqus_thread"></div>
</div>
<script src={{ "/js/jquery.min.js" | prepend: site.baseurl }}></script>
<script>
$(document).ready(function() {
    $('.show-comments').on('click', function(){
          var disqus_shortname = '{{site.disqus-shortname}}'; 
          $.ajax({
                  type: "GET",
                  url: "http://" + disqus_shortname + ".disqus.com/embed.js",
                  dataType: "script",
                  cache: true
          });
          $(this).fadeOut();
    });
});
</script>

在布局文件夹中,我有一个blue.html文件,其中包含用于Disqus的以下代码:

   {% include disqus.html %}
        {% else %}
        {% endif %}

config.yml中,我记下了我的Disqus简称:

#comments disqus-shortname: eudemonis

但是,当点击“加载评论”部分see test post.

时,不会加载任何Disqus。

无论是否将YAML前端设置为comments: true,它都不能在Safari和Chrome中使用。我很茫然。

我已经在包含通用代码的Disqus文档之后尝试了一个完整的新文件,但是它不起作用。使用我的Disqus短名手动更改Liquid标签也不起作用。

1 个答案:

答案 0 :(得分:3)

我认为问题在于您的网站托管有HTTPS,但是您在_includes/disqus.html中通过HTTP协议链接到Disqus:

$.ajax({
  type: "GET",
  url: "http://" + disqus_shortname + ".disqus.com/embed.js",
  dataType: "script",
  cache: true
}); 

Chrome控制台出现错误(按F12键查看)

  

混合内容:“ https://eudemonis.github.io/blog/test//”页面已通过HTTPS加载,但请求了不安全脚本“ http://eudemonis.disqus.com/embed.js”。该请求已被阻止;内容必须通过HTTPS提供。

要解决此问题,请将协议更改为HTTPS:

url: "https://" + disqus_shortname + ".disqus.com/embed.js",

或者不使用协议,让浏览器决定:

url: "//" + disqus_shortname + ".disqus.com/embed.js",