Disqus为所有页面加载相同的线程

Rog*_*son 2 disqus

在我的网站上,所有页面上都显示同一个Disqus线程.

我试过了:

  var currentPageId = '/testo';

  window.disqus_shortname = 'strengthtracker';
  window.disqus_identifier = currentPageId;
  window.disqus_url = 'http://strengthtracker.apphb.com/' + currentPageId;
Run Code Online (Sandbox Code Playgroud)

和:

  var currentPageId = '/testo';

  var disqus_shortname = 'strengthtracker';
  var disqus_identifier = currentPageId;
  var disqus_url = 'http://strengthtracker.apphb.com/' + currentPageId;
Run Code Online (Sandbox Code Playgroud)

两者结果相同,即使currentPageId发生变化,同一个线程也会出现在任何地方.

我在这做错了什么?

Rya*_*n V 6

由于某些标识符与同一个URL一起使用,因此它们永久绑定在一起.首先加载线程时设置'disqus_identifier'和'disqus_url',如果线程存在具有相同的标识符和/或URL,则稍后忽略.

采取这种情况:

线程#1第一次加载:

disqus_url = "http://example.com"
disqus_identifier = "identifier_1"
Run Code Online (Sandbox Code Playgroud)

结果:使用这些变量创建新线程

线程#2第一次加载:

disqus_url = "http://example.com"
disqus_identifier = "identifier_2"
Run Code Online (Sandbox Code Playgroud)

结果:"identifier_2"附加到线程#1.从现在开始调用任一标识符将获取相同的线程,无论URL如何.


这通常发生在标识符或URL组件(例如'currentPageId')未定义或仅为空格时,因此最好在加载Disqus embed之前检查它.