访问带#disqus_thread的URL时自动触发click事件加载Disqus评论
自动触发Disqus评论加载当URL含#disqus_thread时
我来帮你实现这个功能~你只需要在现有的代码基础上,添加一段检测URL哈希值的逻辑就行,具体修改如下:
var disqus_shortname = '<%= theme.disqus.shortname %>'; $(document).ready(function() { // 原有的Disqus加载点击事件 $('#disqus-load').on('click', function(){ $.ajax({ type: "GET", url: "//" + disqus_shortname + ".disqus.com/embed.js", dataType: "script", cache: true }); $(this).fadeOut(); }); // 新增:检测URL哈希并自动触发加载 function checkDisqusHash() { if (window.location.hash === '#disqus_thread') { $('#disqus-load').click(); } } // 页面加载完成后立即检查 checkDisqusHash(); // 监听哈希变化,支持页面内跳转触发 $(window).on('hashchange', checkDisqusHash); });
代码说明:
- 保留了你原本的点击加载逻辑,确保手动点击
#disqus-load按钮依然能正常加载评论 - 新增的
checkDisqusHash函数会检查当前URL的哈希值是否为#disqus_thread,如果是就模拟点击加载按钮 - 页面初始化时会立即执行一次检查,处理直接访问带
#disqus_thread的URL的情况 - 监听
hashchange事件,处理用户在页面内修改URL哈希(比如从其他锚点跳转到#disqus_thread)的场景,保证动态跳转也能自动加载评论
这样就能完美实现你想要的功能啦~
内容的提问来源于stack exchange,提问作者Kakise
相关产品推荐
相关产品推荐

