我正在尝试将 Hotjar 与管理面板集成。
它目前的工作方式是某种没有页面加载且 URL 都没有更改的 SPA。 这一切都发生在/index.php 下,然后当我们需要更改页面时,只需发送一个 AJAX 请求来加载它的内容。
来自检查documentation , Hotjar 似乎与 SPA 兼容,但仅当 URL 发生变化时(查询字符串或哈希)。
有没有办法在 JS 中触发页面更改为页面名称(即主页)? 我试过了
hj('vpv', '主页')
但是输出看起来很奇怪
url: "http://mydomain.comTest Page"
谢谢。
最佳答案
您可以通过在 AJAX 调用后添加额外的 JavaScript 来手动跟踪更改。
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/