首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >谷歌分析和iFrame

谷歌分析和iFrame
EN

Stack Overflow用户
提问于 2009-09-14 18:18:06
回答 1查看 15.5K关注 0票数 3

所以我有一个简单的页面,当用户点击一个链接时,会打开一个iframe。我正在尝试使用

http://www.google.com/support/analytics/bin/answer.py?hl=en&answer=55527

代码语言:javascript
运行
复制
pageTracker._trackPageview('/outgoing/example.com');

在iframe里面--但是它似乎不能工作?我已经读过这个页面了

code.google.com/apis/analytics/docs/tracking/gaTrackingSite.html#trackingIFrames

似乎我使用了"iframe.src = pageTracker._getLinkerUrl“来传递一些cookie信息给iframe --问题是我想要跟踪iframe内部的东西(比如事件等),我得到了一个"pageTracker is undefined”的错误。

我需要包括像这样的东西吗?

代码语言:javascript
运行
复制
<script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>

在iFrame内部--让pageTracker正常工作。我认为"Publisher UA-XXXXX-X“ID将通过cookie传递,一切都会正常工作?

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2009-12-15 15:09:24

是的,您必须在带框架的页面中包含GA样板代码

代码语言:javascript
运行
复制
<script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>

浏览器将每一帧视作一个单独的窗口,具有单独的dom和javascript环境,因此为了能够访问带框架的页面中的pageTracker,您必须将ga.js脚本也包括在此页面中。

请注意,您还需要添加

代码语言:javascript
运行
复制
<script type="text/javascript"> 
 try {
  var pageTracker = _gat._getTracker("UA-XXXXXX-X");
 } catch(err) {}
</script>

这样就实际定义了pageTracker对象。最后,还请注意,框架页面和框架页面上的两个pageTracker javascript对象,尽管它们具有相同的标识符,但它们是不同的JS对象。这是因为JS将每个帧保存在它自己的窗口对象中,这实际上意味着一个JS作用域。

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

https://stackoverflow.com/questions/1423128

复制
相关文章

相似问题

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