Uncaught TypeError: Undefined не является функцией в indexOf

В настоящее время у меня есть этот код для проверки параметров GET URL-адреса веб-сайта для определенного идентификатора, но всякий раз, когда этот код запускается, я получаю странную ошибку: Uncaught TypeError: Undefined is not a function

Вот мой код:

<script language="JavaScript">
    var familyid = "id=8978566";
    var corporateid = "id=8978565";

    if(window.location.indexOf(familyid) === -1)
       {
        document.write("Family ID not found");
       }

</script>

Было бы здорово, если бы я мог получить рекомендации по этому вопросу... Я не смог найти похожие проблемы с помощью функции .indexOf()


person pattyd    schedule 28.06.2014    source источник


Ответы (1)


window.location — это объект Location, а не строка, и indexOf – это строка (или < метод href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf" rel="noreferrer">Array).

Если вы хотите найти параметры запроса, попробуйте

window.location.search.indexOf(familyId)

или если вы хотите проверить весь URL,

window.location.toString().indexOf(familyId)
person Andbdrew    schedule 28.06.2014
comment
Спасибо большое! Это исправило это! - person pattyd; 29.06.2014
comment
Вы можете попробовать вызвать toString. Создание этой одной строки: if(window.location.toString().indexOf(familyid) === -1) - person Lonnie Best; 26.11.2015