2012-03-30 110 views
0

我下面這篇文章:動態谷歌跨域JavaScript的破

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/

這個網站導致問題:

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

+0

什麼是你的問題? – 2012-03-30 14:06:25

+0

添加在末尾 – Anicho 2012-03-30 14:07:32

+0

很難decifer片斷與'this'或變量在他們沒有看到這個''或變量來自哪裏 – charlietfl 2012-03-30 14:11:28

回答

2

它是否被正確定義?

如果是的話,你可以看到的東西是錯的?

沒有

既然你並沒有顯示所有的代碼,我在一個小提琴跑git的代碼。我刪除了noConflict();但這不是必需的。由於它們沒有在小提琴中定義,因此我還對GA功能的調用進行了註釋。已添加警報以顯示代碼在何處發射。

看一下你的代碼,另一個錯誤或發佈全部在這裏,因爲git的代碼運行正常:通過評論

添加

http://jsfiddle.net/uZFcU/

UPDATE後,新的信息在你的提琴從您的評論如下: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) { 

更新小提琴:​​

+0

http://jsfiddle.net/uZFcU/1/我可以在這裏複製它似乎這個html行它不喜歡 – Anicho 2012-03-30 16:23:27

+0

@Anicho用你的新信息更新了我的答案 – 2012-03-30 16:43:49

+0

謝謝jk,一旦我再次與我的開發者機器一起,就會給我一個旋轉。 – Anicho 2012-04-01 08:53:33