Javascript disqs为动态页面加载相同的注释

Javascript disqs为动态页面加载相同的注释,javascript,disqus,Javascript,Disqus,我有一个动态页面,可以加载不同的想法。我使用disqs进行评论,但是disqs会继续为每个想法加载相同的评论 这是网站 这是我的密码 <script type="text/javascript"> /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ if( typeof DISQUS != 'undefined' ) { DISQUS.reset({

我有一个动态页面,可以加载不同的想法。我使用disqs进行评论,但是disqs会继续为每个想法加载相同的评论

这是网站

这是我的密码

<script type="text/javascript">
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
     if( typeof DISQUS != 'undefined' ) { 
      DISQUS.reset({ 
        reload: true, 
         config: function () { 
           this.page.identifier = '<?php echo $title; ?>'; 
           this.page.url = 'http://tech-in.org/submitted_ideas/idea.php?id=<?php echo $idea_id; ?>'; 
         } 
       }); 
    } 
    var disqus_shortname = 'techinorg'; // required: replace example with your forum shortname
    var disqus_identifier = '<?php echo $title; ?>';
    var disqus_url = 'http://tech-in.org/submitted_ideas/idea.php?id=<?php echo $idea_id; ?>';
    var disqus_title = document.getElementById('disqus_post_title').innerHTML;
    var disqus_message = document.getElementById('disqus_post_message').innerHTML;


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

/***配置变量:粘贴到网页前编辑***/
如果(类型取消!=“未定义”){
重新设置({
是的,
配置:函数(){
this.page.identifier='';
this.page.url=http://tech-in.org/submitted_ideas/idea.php?id='; 
} 
}); 
} 
var discus_shortname='techinorg';//必需:将示例替换为论坛短名称
风险值标识符=“”;
var discus_url='1〕http://tech-in.org/submitted_ideas/idea.php?id=';
var discus_title=document.getElementById('discus_post_title').innerHTML;
var discus_message=document.getElementById('discus_post_message').innerHTML;
/***请勿在此行下方编辑***/
(功能(){
var dsq=document.createElement('script');dsq.type='text/javascript';dsq.async=true;
dsq.src='http://'+discus_shortname+'.discus.com/embed.js';
(document.getElementsByTagName('head')[0]| | document.getElementsByTagName('body')[0]).appendChild(dsq);
})();

请帮助解释导致错误的原因以及我能做些什么来解决它

Discus根据您指定的
Discus\u标识符
决定加载哪些注释。加载不同的“想法”时,请确保提供与该想法相对应的唯一
discus\u标识符。(目前还不清楚PHP脚本中
$title
代表了什么,这是当前分配给
discus\u identifier
的内容)

看起来您的标识符不够唯一,请参阅此处的参考文档:

它说:

访问启用了Disqus的页面时,Disqus使用此标识符 确定要加载的适当注释线程。如果合适的话 找不到线程,已创建新线程。不合格标识符 保持线程和页面关联


我在一个页面上遇到了同样的问题,该页面使用AJAX以新的disks线程加载新内容。我的解决方案是将标识符和url设置为相同的值

DISQUS.reset({ 
    reload: true, 
     config: function () { 
       this.page.identifier = 'http://example.com/#!' + myPageID;
       this.page.url = 'http://example.com/#!' + myPageID;
     }}); 

其中myPageID是一个整数,我使用AJAX动态更新它,我最终实现了如下工作

Ajax站点[1]的论文说明了
要求
使用
full hashbang#设置变量
this.page.identifier
this.page.URL

令人困惑的是,上述文档中链接的示例
配方
[2]没有做到这一点

参考资料:

[1]


[2]

Hello Cheeken,$title是每个想法的标题。当您查看每个idea页面的来源时,您将看到Discus_标识符是不同的。这意味着标题的呈现是正确的。感谢Madmartigan,将Discus_url设置为与Discus_标识符相同已解决了此问题。感谢Jakub,我使用url作为标识符解决了此问题。但我怀疑每个想法都有自己的标题。这难道不足以让Discus使用吗?@Stanley,看起来它不够独特,有时越独特越好,再说谁在乎它是唯一标识符,你可以对它进行哈希运算,它仍然可以工作。奇怪的是,我找到的所有解决方案都不起作用,但你的,这肯定是Discus的问题,但你的评论救了我,谢谢。这导致谷歌在我的网站上抓取了数百个重复页面,使用hashbang是个坏主意。@idan shechter我同意。。。出于许多其他原因,我已经停止使用它。请注意,对于非基于服务器的安装,Disqus似乎没有任何真正的支持。有许多人对他们的提议不满意。例如。
var disqus_config = function () {
    this.page.identifier = window.location.origin + '/#!' + identifier 
    this.page.url = window.location.origin + '/#!' + identifier
}