小编jon*_*_wu的帖子

当我的应用程序加载到跨域 iframe 中时,为什么 Google Analytics(分析)不发送命中?

我有一个基本的静态/单页应用程序,我将 Google Analytics 4 (GA4) 添加到使用gtag. 当我通过 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/ 上的 Tag Assistant 进行了调试。即使当我连接到在 iframe 中运行的应用程序时,调试器也会显示所有事件都按预期注册,但在发送的命中下,它显示“此容器未发送命中”。

为什么在 iframe 中加载应用程序时,相同跟踪代码的行为会有所不同?如何确保始终发送命中?

更新:这似乎与 cookie 在跨域 iframe 中不可用有关,但有解决方法吗?

google-analytics google-tag-manager gtag.js google-analytics-4

5
推荐指数
1
解决办法
870
查看次数

在 Scala 中,如何定义不包含已定义类的类型上限?

给定一个具体的类Animal,如何定义一个只接受其子类的函数Animal

在这样的典型示例中,这Animal是一个特征,因此定义[A <: Animal]意味着您已经传递了 的子类Animal。但是,在像下面这样的场景中,哪里Animal是具体的,我可以将其排除为允许的类型吗?

我正在使用现有的生成代码,这只是问题的一般示例。因此,这意味着我无法将Animal(或等效物)制作成trait.

请参阅下面的示例:

class Animal {
  def name: String = "General Animal"
}

class Dog extends Animal {
  override def name: String = "Dog"
}

// How do I limit A to be a subtype of Animal (excluding Animal itself)?
class SpecificAnimalContainer[A <: Animal](a: A) {
  def specificAnimal: A = a
}

val dogContainer = new SpecificAnimalContainer[Dog](new Dog)

// I …
Run Code Online (Sandbox Code Playgroud)

types scala

3
推荐指数
1
解决办法
601
查看次数