javascript - 使用相同的 URL 在 SPA 中集成 HotJar

标签 javascript hotjar

我正在尝试将 Hotjar 与管理面板集成。

它目前的工作方式是某种没有页面加载且 URL 都没有更改的 SPA。 这一切都发生在/index.php 下,然后当我们需要更改页面时,只需发送一个 AJAX 请求来加载它的内容。

来自检查documentation , Hotjar 似乎与 SPA 兼容,但仅当 URL 发生变化时(查询字符串或哈希)。

有没有办法在 JS 中触发页面更改为页面名称(即主页)? 我试过了

hj('vpv', '主页')

但是输出看起来很奇怪

url: "http://mydomain.comTest Page"

谢谢。

最佳答案

您可以通过在 AJAX 调用后添加额外的 JavaScript 来手动跟踪更改。

Documentation:

To Manually Issue a State Change

hj('stateChange', 'some/relative/path');

示例:

假设您有一个基本 URL http://example.com/ 的 SPA,并且您想要跟踪主页和一个在您单击某个按钮后使用 AJAX 动态加载的页面。 为此,您需要:

1) 在您的 Hotjar 帐户中,创建两个热图。对于主页,您可以使用基本 URL http://example.com/。对于将要动态加载的页面,您可以放置​​一个虚拟 URL,例如http://example.com/my-dynamic-page,仅用于记录,不需要存在于您的 SPA 中。

2) 在应用程序的 JavaScript 中,在将动态加载页面的 AJAX 调用之后添加状态更改代码。 您需要使用您在上一步中定义的虚拟 URL 让 Hotjar 知道这是一个新页面并且您想要单独跟踪它:

hj('stateChange', 'http://example.com/my-dynamic-page');

关于javascript - 使用相同的 URL 在 SPA 中集成 HotJar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55918526/

相关文章:

javascript - 定价变化 v2

javascript - 提示方法不起作用?

javascript - Yii2-在控制台中获取类型和引用错误

javascript - Gatsby + Hotjar : Env variables for Hotjar-Id & Hotjar-Snippet Version?

angular - 堆 session 记录不适用于基于 Electron JS 的应用程序

javascript - $welcome.css 不是一个函数

javascript - 如何检测来自 Firefox 历史记录下拉框的事件

python - HotJar 可疑的 UserAgent 错误,谷歌上没有任何内容,试图运行 python 抓取工具来跟踪体育赔率

angular8 - 如何在 angular 8 应用程序中注入(inject) hotjar,因为 hotjar 和 npm 提供了不同的方法?