Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以在不丢失旧注释的情况下设置一个Discus_标识符吗?动态的?_Javascript_Disqus_Hubspot - Fatal编程技术网

Javascript 我可以在不丢失旧注释的情况下设置一个Discus_标识符吗?动态的?

Javascript 我可以在不丢失旧注释的情况下设置一个Discus_标识符吗?动态的?,javascript,disqus,hubspot,Javascript,Disqus,Hubspot,最终结果:我正试图解决一个问题,即带有UTM URL参数的discus阅读链接与干净URL作为独立页面 背景故事:当Discus最初安装在HubSpot的这个网站上时,除了论坛短名之外,没有其他选项。当读者直接或通过没有跟踪参数的干净URL访问博客文章时,他们将看到正确的Disqs评论线程。但是,如果他们访问带有一系列跟踪参数的“脏”URL的帖子,比如我们的电子邮件订阅中发送的一个,他们将看到一个与特定URL关联的Disqs评论线程 显然,我们希望通过电子邮件链接访问的人能够看到与通过我们自己的

最终结果:我正试图解决一个问题,即带有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-", "");
这引起了一些问题和关注:

  • ~~以这种方式动态设置标识符可以吗?或者,更重要的是,这样做是非常愚蠢的吗?~~编辑:disqs实际上建议动态设置标识符,所以我在这里并不完全愚蠢
  • 如果全局设置,旧线程现在会有标识符吗?这会干扰现有的注释吗
  • 有没有更简单的方法
  • 在写这篇文章的时候,我正在仔细考虑这个问题,我意识到我可能只需要使用规范链接作为
    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
    是啊,真恶心。如果你想改进它,请便。不过,这似乎有效