我有一个基本的静态/单页应用程序,我使用
为了调试它,我查看了Chrome网络检查器中的网络请求。当我直接在http://localhost:8080打开我的应用程序时,我可以看到一个请求发送到https://analytics.google.com/g/collect?..。但是,当我在iframe中加载我的应用程序(例如,我在另一个页面中添加
我还使用https://tagassistant.google.com/的标签助手进行了调试。即使我连接到在iframe中运行的应用程序,调试器也显示所有事件都按预期注册,但在发送的记录中,它说“此容器未发送任何记录”。
同样的跟踪代码,在应用程序加载在iframe中时为什么会有不同的行为?如何确保记录始终被发送?
更新:这似乎与跨域iframe中无法使用cookie相关,但有解决方法吗?
gtag
添加了Google Analytics 4(GA4)。当我通过http://localhost:8080本地加载我的应用程序时,页面浏览量得到了跟踪。然而,当我将我的应用程序嵌入到另一个站点的iframe中时,就没有发送任何记录。为了调试它,我查看了Chrome网络检查器中的网络请求。当我直接在http://localhost:8080打开我的应用程序时,我可以看到一个请求发送到https://analytics.google.com/g/collect?..。但是,当我在iframe中加载我的应用程序(例如,我在另一个页面中添加
<iframe src=“http://localhost:8080”></iframe>
)时,我注意到这个请求没有被发送。我还确认实时视图中没有数据显示在Google Analytics中,尽管我可以看到gtag加载的JavaScript。我还使用https://tagassistant.google.com/的标签助手进行了调试。即使我连接到在iframe中运行的应用程序,调试器也显示所有事件都按预期注册,但在发送的记录中,它说“此容器未发送任何记录”。
同样的跟踪代码,在应用程序加载在iframe中时为什么会有不同的行为?如何确保记录始终被发送?
更新:这似乎与跨域iframe中无法使用cookie相关,但有解决方法吗?