在我的网站上,所有页面上都显示同一个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发生变化,同一个线程也会出现在任何地方.
我在这做错了什么?
由于某些标识符与同一个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之前检查它.