使用Disqus为ajax加载

时间:2014-07-17 19:36:33

标签: javascript modal-dialog disqus

对于这篇文章,这是一个很长的问题 - > Using Disqus for ajax loaded Modal

我使用模态作为我的博客,我遇到了同样的问题,每个博客上都会显示相同的评论。但是,我确定了我的" disqus_identifier"成为我博客的唯一ID。我使用php将(id = postget)的值设置为唯一的id。 id不是数字,更像是这样:

" 7Yq87eLm20"

我做错了吗?我错过了什么吗?请帮忙。

仅供参考,这是Disqus" Universal Code" (不使用WordPress,Drupal,Joomla等......)

<script type="text/javascript">
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
    var postget = document.getElementById('postget').value;
    var disqus_shortname = 'myblogstuff'; // required: replace example with your forum shortname
    var disqus_identifier = postget;

    /* * * DON'T EDIT BELOW THIS LINE * * */
    (function() {           
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>

1 个答案:

答案 0 :(得分:0)

也许这会帮助在这里浏览的其他人。

尝试&#34; console.log(postget); &#34;就在关闭脚本标记之前,查看变量实际返回的内容,并确保每次加载后都看到变量返回一个唯一值。

如果console.log中的值没有随帖子改变,那么每次调用帖子时都不会执行disqus js - 所以它只是坚持第一次加载时的值(并显示注释)为了这个价值)。

每次访问模态时检查是否刷新该值。如果没有,您可能需要在每次调用模态时重新调用disqus脚本。

重新调用disqus脚本最终会将头标记与disqus脚本混在一起。在第二次加载disqus脚本时,console.log将显示来自disqus的警告,要求您使用他们的&#34; reset&#34;脚本并提供指向their instructions for using it的链接。好消息是,这意味着它每次都会刷新disqus_identifier,所以如果你看到这个,你就会取得进步。

插入&#34;重置&#34;用于销毁head标签中的旧disqus脚本并编写一个新脚本的脚本应该正确加载disqus。