Динамический кросс-домен Google сломан JavaScript - PullRequest
0 голосов
/ 30 марта 2012

Я следую за этой статьей:

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>

1 Ответ

2 голосов
/ 30 марта 2012

Правильно ли это определено?

Да

Если это так, то видите ли вы что-то не так?

нет

Нет

Поскольку вы не показали весь свой код, я запустил код 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 script listenToClicks сканирует загруженную страницу в функции $(document).ready. Если у вас есть такие якоря или ссылки, вам нужно изменить listenToClicks, чтобы игнорировать их.

Изменить это:

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

к этому:

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

Обновленная скрипка: http://jsfiddle.net/uZFcU/8/

...