2016-01-18 3 views
2

Я использую приложение HotJar на определенном моем сайте. Теперь это приложение записывает сеансы (полная запись с движением мыши и все такое). Существует возможность записи «автоматически тегировать», чтобы некоторые записи можно было найти в моей библиотеке, выполнив поиск определенного тега.document.location.indexOf не является функцией

Я написал небольшой скрипт, который должен отмечать посещения определенного источника. Это выглядит следующим образом:

<script> 
$(document).ready(function() { 
    if (document.location.indexOf('?utm_source=Bing') > -1) { 
     hj('tagRecording', ['Bing_source']); 
    } 
    if (document.location.indexOf('?gclid=') > -1) { 
     hj('tagRecording', ['AdWords_source']); 
    } 
    if (document.location.indexOf('?utm_source=YouTube') > -1) { 
     hj('tagRecording', ['YouTube_source']); 
    } 
    if (document.location.indexOf('?u=') > -1) { 
     hj('tagRecordings', ['Mailchimp_source']) 
    } 
}); 
</script> 

Дело в том, я получаю следующее сообщение об ошибке:

Uncaught TypeError: document.location.indexOf is not a function 

я мог забыть что-то, но при поиске на StackOverflow эта функция пришла как рабочая функция.

У кого-нибудь есть идеи?

+0

Пройдите этот Answerfor полное объяснение http://stackoverflow.com/a/13669486/5336818 –

ответ

6

indexOf - это метод, который вы найдете на строках. location не является строкой.

location.toString() - это строка и location.href - это строка.

Возможно, вы хотите посмотреть на location.query, так как вы просто играете с строкой запроса.

+0

Благодарим за быстрый комментарий. Так что location.href будет использовать здесь? – user3625849

+1

почему вы не попробуете сначала спросить? Да. –

0

Попробуйте с

document.location.href.indexOf 

Объяснение в том, что document.location является объектом, а не строка, а где найти строку с URL в document.location.href

+0

Спасибо, что сделал трюк! – user3625849

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