javascript Disqus锚链接“#disqus_thread”不起作用

gcuhipw9  于 2023-05-12  发布在  Java
关注(0)|答案(1)|浏览(68)

当访问我的博客网址与Disqus锚链接(例如.url-to/my-blog-post#disqus_thread)浏览器不会向下滚动到<div id="disqus_thread">元素。
相反,如果我已经在页面上 *url-to/my-blog-post * 并单击链接到 url-to/my-blog-post#disqus_thread,它会向下滚动到div
我以为是装载问题。浏览器访问页面,没有找到div元素,因为它仍然由Disqus JS生成。我试着改变JS代码的位置,但什么也没改变。
这是我博客中的一个示例文章URL:https://2bluebuffalo-en.blogspot.com/2018/11/how-to-crop-square-video-macos.html#disqus_thread它不起作用,但如果你点击旁边的链接“由蓝布法罗”(上面的分享按钮,现在它的书面“2评论”)锚链接的工作。

解决方案

好吧,这就是我找到的解决方法。它工作得很好。以防有人点击这个链接。

<script>
setTimeout(function(){
 var hash = window.location.hash.substr(1);
  if (hash == "disqus_thread") {
    location.hash = "#comments";
    location.hash = "#" + hash;
  };
}, 1000);
</script>

等待是因为我只需要一秒钟。加载所有内容(有时甚至更多)。这是可以改变的。

envsm3lx

envsm3lx1#

你可以试试这个hack:
编辑博客的HTML并添加Disqus脚本。对于您的评论,您可以这样做:

<div id = "comments">
    <div id = "disqus_thread"></div>
</div>

这将带您到评论部分并加载Disqus评论。

相关问题