Javascript 我可以在不丢失旧注释的情况下设置一个Discus_标识符吗?动态的?
最终结果:我正试图解决一个问题,即带有UTM URL参数的discus阅读链接与干净URL作为独立页面 背景故事:当Discus最初安装在HubSpot的这个网站上时,除了论坛短名之外,没有其他选项。当读者直接或通过没有跟踪参数的干净URL访问博客文章时,他们将看到正确的Disqs评论线程。但是,如果他们访问带有一系列跟踪参数的“脏”URL的帖子,比如我们的电子邮件订阅中发送的一个,他们将看到一个与特定URL关联的Disqs评论线程 显然,我们希望通过电子邮件链接访问的人能够看到与通过我们自己的网站访问的人相同的评论线索 解决这个问题的方法是使用Javascript 我可以在不丢失旧注释的情况下设置一个Discus_标识符吗?动态的?,javascript,disqus,hubspot,Javascript,Disqus,Hubspot,最终结果:我正试图解决一个问题,即带有UTM URL参数的discus阅读链接与干净URL作为独立页面 背景故事:当Discus最初安装在HubSpot的这个网站上时,除了论坛短名之外,没有其他选项。当读者直接或通过没有跟踪参数的干净URL访问博客文章时,他们将看到正确的Disqs评论线程。但是,如果他们访问带有一系列跟踪参数的“脏”URL的帖子,比如我们的电子邮件订阅中发送的一个,他们将看到一个与特定URL关联的Disqs评论线程 显然,我们希望通过电子邮件链接访问的人能够看到与通过我们自己的
中hs-content-id-xxxxxxxxx
类的xxxxxxxxx
部分来设置discus\u标识符
:
var hsbody = document.body.classList;
var hsid = hsbody.item(0);
var disqus_identifier = hsid.replace("hs-content-id-", "");
这引起了一些问题和关注:
discus\u标识符
。想法限制:我无法禁用电子邮件的跟踪代码(尽管这是最简单的方法)。我们没有开发网站,所以这都是实时的,所以我不想在这里做太多的猜测(虽然我可以很容易地恢复)。因为
discus\u标识符
被设置为页面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;
var canonical=”“;
var links=document.getElementsByTagName(“链接”);
对于(变量i=0;i
是啊,真恶心。如果你想改进它,请便。不过,这似乎有效