Javascript 反应JS+;google标签管理器:如何在页面转换时触发数据层
我在React应用程序中尝试向GTM(谷歌标签管理器)发送数据时遇到问题。我们已经在相关页面上放置了不同的脚本 例如,下面是我们放入购物车页面的脚本之一:Javascript 反应JS+;google标签管理器:如何在页面转换时触发数据层,javascript,reactjs,google-tag-manager,google-datalayer,Javascript,Reactjs,Google Tag Manager,Google Datalayer,我在React应用程序中尝试向GTM(谷歌标签管理器)发送数据时遇到问题。我们已经在相关页面上放置了不同的脚本 例如,下面是我们放入购物车页面的脚本之一: class Cart extends Component { render() { const { cartItems } = this.props; return ( <script dangerouslySetInnerHTML={{ __html: ` wind
class Cart extends Component {
render() {
const { cartItems } = this.props;
return (
<script
dangerouslySetInnerHTML={{ __html: `
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'viewCart',
cartItems: ${cartItems}
});
window.history = window.history || [];
window.history.pushState({
page: 'Current Cart Page',
events: 'viewCart',
cartItems: ${cartItems},
}, 'Current Cart Page');
` }}
/>
);
}
}
类购物车扩展组件{
render(){
const{cartimes}=this.props;
返回(
);
}
}
当我们从另一个页面(例如:主页)访问购物车页面时,不会执行上述脚本,但当我们刷新页面时,它会被触发
事实证明,数据层只在pageLoad
和DOMReady
事件上推送。但不在historyChange
以前有没有人遇到过这个问题,并且知道如何解决它