问题描述
我在 Vue-SPA 上实现了 Hubspot。
它按预期工作。 但是聊天小部件不会跟踪 SPA 页面转换。
docs 建议使用 window.HubSpotConversations.widget.refresh();
处理 SPA 上未跟踪的页面转换。
如果显示欢迎文本的设置延迟还没有结束。refresh()
将触发错误的聊天流程。
但如果它已经结束,这有效。
有点。
因为如果新欢迎文本比旧文本长,它就会被裁剪。
The old welcome text
The new one but cropped
The new one displayed correctly
另一个问题:
已通过聊天开始的对话不会在 refresh()
结束,但如果聊天已打开,它将在之后关闭。而且我不知道如何告诉小部件按照您的预期重新打开。
解决方法
如此处所述:https://developers.hubspot.com/docs/api/events/tracking-code,您需要在 SPA 中处理路由更改事件,然后像这样调用 trackPageView
:
var _hsq = window._hsq = window._hsq || [];
_hsq.push(['trackPageView']);
您可能还想在文档中描述的某些情况下调用 setPath
。