问题描述
这些是目前为止做过的事情
这样的对象const data = {
page: {
pageInfo: {
pageName: "",},};
function adobeONPageLoad(name) {
try {
if (name !== undefined && email != undefined) {
data.page.pageInfo.pageName = name;
window.digitalData = Object.assign(window.digitalData,data);
console.log("test",window.digitalData);
window._satellite.track("Page Load");
return true;
}
} catch (error) {
console.log("error);
}
}
并在 home 组件中添加了一个 useEffect 并调用如下函数之一
useEffect(() => {
adobeONPageLoad("Home");
},[]);
但除非我再次重新加载页面,否则它不会触发。此外,我还有另一个选项卡,它将显示另一个内容,但是当我导航到其他选项卡时,没有页面视图被触发,只有退出,我猜这是默认行为。
我的要求是每当我从主页获取另一个选项卡时,它应该在omniture中触发新页面视图并更新新页面名称,默认情况下不会触发,再次当我重新加载页面时,它来了,但我猜是它不是正确的,我什至提供了一个点击功能,但这也没有出现在 adobe 分析中。
我的是一个 React SPA 应用
非常感谢任何反馈或帮助,因为我对此感到厌烦
解决方法
所以我遇到了类似的情况,我的 Facebook Pixel 是第一次触发,多次刷新后它不会再次触发,直到硬刷新(清除缓存)完成。经过数小时的调试,我发现这是由于我注册了一个 Service Worker 来使我的 React 应用程序成为渐进式 Web 应用程序。删除服务工作者后,它起作用了。奇怪的是,即使我删除了代码以避免在 Service Worker 中缓存它也不起作用,所以不得不废弃整个 Service Worker 文件。我认为这可能是任何分析工具的相同情况。