【问题标题】:Dynamic google cross domain javascript broken动态谷歌跨域javascript坏了
【发布时间】:2012-04-14 05:32:16
【问题描述】:

我正在关注这篇文章:

http://www.lunametrics.com/blog/2011/12/01/automatic-cross-domain-tracking-revisited/

这导致我将以下内容放在我的网站中:

https://github.com/oldbie/xdomain/blob/master/xdomain.js

我已删除 jQuery.noConflict(); 并改用 $

当我在我的网站上运行代码时,我得到$(link).attr("href") is undefined

if($(link).attr("href").indexOf(this)!=-1){

但是如果您查看上面链接中的代码,它是在我们这样做时定义的:

var link = $(this); var href = link.attr('href');

定义是否正确?如果是这样,那么你能看到有什么问题吗?

您可以在此处查看复制的问题:

http://jsfiddle.net/uZFcU/1/

这个 html 会导致问题:

<a id="manage"><span id="ocPM" class="arrowDo"></span></a>

【问题讨论】:

  • 很难识别带有this 或其中的变量的sn-ps,而看不到this 或变量的来源
  • 在它崩溃之前我就知道这是什么了。
  • 我想我可能需要添加类似$(link).attr("href") != null

标签: javascript jquery google-analytics cross-domain


【解决方案1】:

定义是否正确?

是的

如果是这样,那么你能看出哪里不对吗?

没有

由于您没有显示所有代码,因此我在小提琴中运行了 git 代码。我删除了noConflict();,但这不是必需的。我还注释掉了对 GA 函数的调用,因为它们没有在小提琴中定义。添加了警报以向您显示代码触发的位置。

查看您的代码是否有其他错误或将其全部发布在这里,因为 git 代码运行良好:

http://jsfiddle.net/uZFcU/

更新在通过评论添加新信息后

在下面的评论中你的小提琴:http://jsfiddle.net/uZFcU/1/

HTML 行 <a id="manage"><span id="ocPM" class="arrowDo"></span></a> 没有 href 属性。所以是undefined

git 脚本listenToClicks 函数正在扫描$(document).ready 函数中加载的页面。当您有类似的锚点或链接时,您需要修改 listenToClicks 以忽略它们。

改变这个:

$("a").each(function(index) {

到这里:

$("a[href]").each(function(index) {

更新小提琴:http://jsfiddle.net/uZFcU/8/

【讨论】:

  • jsfiddle.net/uZFcU/1 我可以在这里复制它似乎这个 html 行它不喜欢
  • 谢谢 jk,一旦我再次使用我的开发人员机器,我就会试一试。
猜你喜欢
  • 2012-02-09
  • 2018-03-13
  • 2012-11-03
  • 1970-01-01
  • 1970-01-01
  • 2018-11-02
  • 2015-04-07
  • 1970-01-01
  • 2016-08-18
相关资源
最近更新 更多