最终结果:我正在尝试修复Disqus使用UTM网址参数读取链接作为与干净网址分开的网页的问题。
背景故事:当这个网站最初在HubSpot上安装此网站时,除了论坛短名称之外,没有设置任何选项。当读者直接访问博客文章或通过没有跟踪参数的干净URL访问时,他们会看到正确的Disqus评论主题。但是,如果他们使用带有一堆跟踪参数的“脏”URL访问帖子,例如通过我们的电子邮件订阅发送的一个跟踪参数,他们会看到与关联的Disqus评论主题该特定网址
显然,我们希望通过电子邮件链接访问的人能够看到与通过我们自己的网站访问的人相同的评论主题。
我正在考虑解决此问题的方法是使用xxxxxxxxx
中hs-content-id-xxxxxxxxx
类的<body>
部分来设置disqus_identifier
:
var hsbody = document.body.classList;
var hsid = hsbody.item(0);
var disqus_identifier = hsid.replace("hs-content-id-", "");
这提出了一些问题和疑虑:
disqus_identifier
。想法?限制:我无法禁用电子邮件的跟踪代码(尽管这是最简单的方法)。我们没有开发网站,所以这一切都是现场的,所以我宁愿不要在这里做太多的猜测(尽管我很明显可以很容易地恢复)。
答案 0 :(得分:1)
由于disqus_identifier
设置为页面URL(如果未定义),我只需将其设置为页面的规范URL。我不能失去!
var canonical = "";
var links = document.getElementsByTagName("link");
for (var i = 0; i < links.length; i ++) {
if (links[i].getAttribute("rel") === "canonical") {
canonical = links[i].getAttribute("href");
}
}
var disqus_identifier = canonical;
是的,这非常糟糕。如果您想要优化它,请成为我的客人。似乎工作似乎。