javascript - document.location.indexOf 不是一个函数

标签 javascript jquery indexof typeerror

我正在我的特定网站上使用应用程序 HotJar。 现在这个应用程序记录 session (通过鼠标移动和所有内容进行完整记录)。 有一个选项可以“自动标记”录音,这样就可以通过搜索特定标签在我的库中找到某些录音。

我编写了一个小脚本,用于标记来自特定来源的访问。 它看起来像这样:

<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 上搜索时,这个函数变成了一个工作函数。

有人有想法吗?

最佳答案

indexOf 是在字符串上找到的方法。 location 不是字符串。

location.toString() 是一个字符串,location.href 是一个字符串。

您可能想要查看location.query,因为您只是在处理查询字符串。

关于javascript - document.location.indexOf 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34854582/

相关文章:

Javascript无法调用未定义的方法 'indexOf'

javascript - 从 react reducer 设置状态返回正确的值但不会导致重新渲染

javascript - jsTree 3 : use a drag handle to restrict initiating dragging

JavaScript - 创建元素并设置属性

javascript - Jquery Select2 4 - 使用自定义数据时的 Ajax "no results found"

Javascript indexOf() 和下划线

javascript - 测试删除未使用的表(迁移)不会影响应用程序的最佳方法是什么

javascript - 如何获取没有焦点的输入的选定文本/插入符号位置?

jquery - 使用 jQuery 或 CSS 更改类名

javascript - 类型错误 : Cannot read property 'indexOf' of undefined