首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google Analytics Linker装饰语法

Google Analytics Linker装饰语法
EN

Stack Overflow用户
提问于 2019-02-13 04:10:34
回答 1查看 291关注 0票数 0

我们尝试在iframe的源上使用GA中的linker.decorate。大致是这样的:

代码语言:javascript
复制
 <iframe id="whatever" class="whateveriframe" src="https://www.whatever.com/#/whatever" frameborder="0" hideadminborder="false" scrolling="no" style="width: 1px; min-width: 100%"></iframe>

我们尝试用来修改SRC的函数是:

代码语言:javascript
复制
 function() {

   return function() {

     try { 

       var gobj = window[window.GoogleAnalyticsObject];
       var iframe = document.querySelector('.whateveriframe');
       var tracker, linker;
       if (gobj) {
          tracker = gobj.getAll()[0];
          linker = new window.gaplugins.Linker(tracker);
          iframe.src = linker.decorate(iframe.src);
       }

     } catch(e) {}

   }

 }

当返回的输出混淆了被追加字符串的位置时。因此,它将输出:

代码语言:javascript
复制
 https://www.whatever.com/?q=valuesadded#/whatever

而不是我们想要的-那就是

代码语言:javascript
复制
 https://www.whatever.com/#/whatever?q=valuesadded

它不应该只是将GET变量附加到src字符串的末尾吗?当我输出iframe.src时,它是完整的网址,而不仅仅是域名。

如果只是把它附加到末尾,我会遗漏什么?

EN

回答 1

Stack Overflow用户

发布于 2019-02-13 20:23:43

如果查询参数添加在散列标记之后,它将被忽略(即,该值将成为片段标识符的一部分,而不是查询参数)。这就是链接器被添加在"#“之前的原因。

这样做的原因基本上是历史的--链接中的散列标记最初是表示页面内的链接,并且不会改变页面内容(1)。直到后来,它们才成为Url的“合法”部分(主要是在SPA中),而GA还没有完全跟上这一事实。

但是,允许使用片段标识符而不是将链接器添加为查询参数的linker methods have a "useAnchor" boolean parameter。这应该(尚未测试)允许您将链接器添加到URl的"#“部分。

系统作为客户端间接引用的主要形式,

仅由资源所有者间接提供的资源。因此,片段标识符不在方案特定的中使用

URI的处理;取而代之的是,片段标识符被分隔

从取消引用之前的URI的其余部分开始,因此

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54657993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档