2015-02-18 2 views
0

Я использую ниже код для отслеживания haschanges в GoogleAnalytics:Google Analytics хеш

$(window).on('hashchange', function(){ 
    ga('send', 'pageview', {'page': location.pathname + location.hash}); 
}) 

Он работает, но он посылает также следующие параметры хэштегом.

если URL может быть, выглядит как

www.example.de/somepage/#myhashtag?parm1=this & param2 = &, что param3 = Foo

Отслеживаемая URL в выглядит Analytics как

somepage/# myhashtag? parm1 = это & param2 = &, что param3 = Foo

, но я хочу

somepage/# myhashtag

Что я делаю не так? :)

+0

{'page': '' + location.hash}); – user3344236

+0

Мне нужно было объяснить это лучше, потому что, если у меня есть страница раньше, конечно, я тоже хочу это увидеть :) – Falk

ответ

1

Вы ничего не делаете неправильно; так работает location.hash. Вы можете попробовать это:

ga('send', 'pageview', {'page': location.pathname + location.hash.split("?")[0]}); 
+0

Его определенно вариант, спасибо – Falk

0

{'page': + window.location.hash}); // или "/" + window.location.hash Я вижу, попробуйте подстроить только хеш, используя hash.lenght, затем подстроку с пути и т. д.

0

Как я понял, еще один вариант, чтобы сказать Analytics в свойствах игнорировать определенные параметры.

0

В дополнение к тому, что сказал @nyuen, если вы пытаетесь отследить этот сайт как одностраничное приложение, вы должны прочитать developer guide for tracking single page applications.

Есть несколько ошибок, когда дело доходит до того, что вы пытаетесь сделать, так что ссылка, вероятно, будет полезна. Например, они, как вы делаете это сейчас. Если позже вы отправите событие, это будет связано с неправильной страницей, потому что вы не обновляете объект трекера, когда изменяется хеш.

Смежные вопросы