Disqus 不会在我的 Jekyll 网站上的任何浏览器中加载
Disqus won’t load in any browser on my Jekyll website
我正在使用 Jekyll 开发 GitHub 页面。 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
但是点击加载评论部分时没有加载任何Disqus,see test post.
无论是否将 YAML 前端设置为 comments: true
,它在 Safari 和 Chrome 中都不起作用。我真的很茫然。
我已经尝试使用通用代码在 Disqus 文档之后创建一个完整的新文件,但它不起作用。使用我的 Disqus 短名称手动更改 Liquid 标签也不起作用。
我认为问题在于您的网站是使用 HTTPS 托管的,但您在 _includes/disqus.html
:
中使用 HTTP 协议链接到 Disqus
$.ajax({
type: "GET",
url: "http://" + disqus_shortname + ".disqus.com/embed.js",
dataType: "script",
cache: true
});
来自 Chrome 控制台的错误(按 F12 键查看):
Mixed Content: The page at 'https://eudemonis.github.io/blog/test//' was loaded over HTTPS, but requested an insecure script 'http://eudemonis.disqus.com/embed.js'. This request has been blocked; the content must be served over HTTPS.
要解决此问题,请将协议更改为 HTTPS:
url: "https://" + disqus_shortname + ".disqus.com/embed.js",
或者忽略协议,让浏览器决定:
url: "//" + disqus_shortname + ".disqus.com/embed.js",
我正在使用 Jekyll 开发 GitHub 页面。 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
但是点击加载评论部分时没有加载任何Disqus,see test post.
无论是否将 YAML 前端设置为 comments: true
,它在 Safari 和 Chrome 中都不起作用。我真的很茫然。
我已经尝试使用通用代码在 Disqus 文档之后创建一个完整的新文件,但它不起作用。使用我的 Disqus 短名称手动更改 Liquid 标签也不起作用。
我认为问题在于您的网站是使用 HTTPS 托管的,但您在 _includes/disqus.html
:
$.ajax({
type: "GET",
url: "http://" + disqus_shortname + ".disqus.com/embed.js",
dataType: "script",
cache: true
});
来自 Chrome 控制台的错误(按 F12 键查看):
Mixed Content: The page at 'https://eudemonis.github.io/blog/test//' was loaded over HTTPS, but requested an insecure script 'http://eudemonis.disqus.com/embed.js'. This request has been blocked; the content must be served over HTTPS.
要解决此问题,请将协议更改为 HTTPS:
url: "https://" + disqus_shortname + ".disqus.com/embed.js",
或者忽略协议,让浏览器决定:
url: "//" + disqus_shortname + ".disqus.com/embed.js",