首页 > 解决方案 > 在 Angular 区域之外运行分析脚本

问题描述

在我的 Angular 网站上,我正在注入各种第三方脚本来收集分析。这些脚本是延迟加载的,并将向页面上的某些元素添加事件侦听器(针对 fe 点击事件)。

通常我会将这种功能包装在 a 中runOutsideAngular,但由于这些脚本是外部的,我认为我没有这种能力。请注意,这些脚本与 Angular 完全无关。

在运行性能记录或 JavaScript 分析器(均在 Chrome 中)时,分析功能似乎以某种方式运行zone.js,而我实际上希望它们尽可能以本机方式运行。

如何确保这些脚本不受任何 Angular 区域的影响或影响?

标签: angularzone

解决方案


它的工作方式zone.js是修补应用程序中的所有异步操作。所以这是正确的,你所有的代码,甚至是外部代码,都在一个区域中运行。

但这并不意味着它在 Angular 区域中运行并且它会导致更改检测周期。它在与 Angular 不同的区域中运行。这就是 Angular 甚至使用区域的原因——将 Angular 应用程序与其他脚本分开。


推荐阅读