- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近一直在摆弄 Application Insights,并且在让 JavaScript API 正常工作时遇到了问题。在您应该添加到页面的默认脚本中,它们使用函数 trackPageView()。这似乎有效,但我还想收集有关用户在页面上停留多长时间的信息。我找到了 startTrackPage() 和 stopTrackPage() 函数,并尝试使用它们来获取信息,但我总是收到来自 startTrackPage() 的错误。
未捕获的类型错误:appInsights.startTrackPage不是函数(匿名函数)
我已经单步执行了代码,但在我调用它时该函数似乎尚未创建。 trackPageView() 已经定义了。我也尝试在文档加载后调用该函数,但仍然失败。但是,页面加载后我可以从开发人员控制台调用它。
Here是我最初找到有关 startTrackPage() 和 stopTrackPage() 的信息的地方。除此之外,我只是仔细阅读了一下,看看是否有其他人遇到过这个问题。
非常感谢您的帮助。
App Insight 的默认代码:
window.appInsights = appInsights;
appInsights.startPageView();
我尝试过的:
window.appInsights = appInsights;
appInsights.startTrackPage();
window.onunload = function () {
appInsights.stopTrackPage();
};
最佳答案
简短回答:遗憾的是,目前无法按照您想要的方式可靠地使用 appInsights.startTrackPage()。
长答案:原因是startTrackPage()方法只在从CDN下载的JS中定义,所以在下载之前它是没有定义的。你可以这样做:
appInsights.queue.push(function(){appInsights.startTrackPage();})
但是,这不会产生正确的测量,因为跟踪不会立即开始。因此,您最好的方法是手动记录开始时间,但即使这样您也无法可靠地做到这一点。首先,您绝对不想使用 onunload 事件,因为此时 Application Insights SDK 发送数据为时已晚,因此很可能会丢失。使用onbeforeunload和flush()将有助于解决这个问题:
var pageStart = +new Date;
window.addEventListener("beforeunload", function () {
appInsights.trackMetric("timeOnPage", (+new Date)-pageStart);
appInsights.flush();
});
但是,即使使用 onbeforeunload,您也会发现大量潜在数据丢失 - 您无法保证将数据发送到 Application Insights 的 ajax 请求将在页面导航离开和连接中断之前完成。在我对 IE 的测试中,损失大约为 50%。
关于javascript - 在 Application Insights 中使用 startTrackPage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30058310/
我有多个应用程序使用 Application Insights for Production Data。我正在尝试使用 City 遥测字段来映射我们当前的用户。这些数据的跟踪似乎非常不一致,并且在大多
有没有办法在 ASP.NET Web 应用程序中禁用 Application Insights?假设我想关闭生产中运行的应用程序中的所有数据收集。 最佳答案 如果 ikey 在 Application
如何在 Azure Application Insights 中将时差转换为毫秒 let startTime = todatetime('2017-05-15T17:02:23.7148691Z');
我在 Application Insights Analytics 中有一些数据,它有一个动态对象作为自定义维度的属性。例如: | timestamp | name
我从 Chrome 开发工具和 Google Page Speed Insights 页面运行 Google Page Speed Insights(移动)得到了不同的结果。当我从 Chrome 开发
我在我的 ASP.NET MVC Angular 应用程序中使用 App insights。我在我的布局文件中插入了 JavaScript block (我得到了 from the Microsoft
在我们当前的本地设置中,我们有 20 多个 .net core 3.1 API 应用程序(单独的 ASP.NET Core API 应用程序)。我们已开始将 2 个 APi 应用程序迁移到使用单个 A
我有一个应用洞察查询。在此查询中,我想将多个列加入/合并为一个列以显示如何实现这一点。 我想结合 ip、城市、州、国家。 customEvents | where timestamp >= ago(7
我有一个托管在 Windows Server 2008 上的 ASP.Net MVC 4 应用程序。我使用的是 Microsoft Application Insights,它非常适用于客户端指标,例
我已经开始使用应用程序洞察来记录来自控制台应用程序的消息。 仅记录严重和错误。未记录信息或跟踪。关于为什么排除信息的任何想法? class Program { static void Mai
我将 App Service 捆绑的 App Insights 代理与 .Net 4.7 应用程序一起使用,并且没有使用 SDK。我配置代理的唯一选项是应用程序设置,如文档 https://docs.
我正在使用 Application insights 进行由外向内测试,但我的代码未使用它进行检测。我不想收到关于我的服务的每周电子邮件摘要,因为大多数栏目都是空白的。如何禁用正在发送的电子邮件? (
这不是一个特别技术性的问题,但是其他人的洞察数据有问题吗? http://www.facebook.com/insights/?sk=ao_119242438097337 自 18 日(6 天前)以来
我们的 ASP.NET MVC 应用程序包含一些 URI 路径参数,例如: https://example.com/api/query/14hes1017ceimgS2ESsIec 在 Applica
我想使用一个包含数组的变量,所以我可以将它与 in 过滤器一起使用。 这行得通: traces | where cloud_RoleName in ("A", "B") 这不起作用(语法错误): le
我的 Facebook Insights 帐户中添加了 Facebook“Insights For My Domain”。我有一个不再使用的旧域,想从我的 Facebook Insights 帐户中删
有人使用过Sonatype Insight-Application Health Checker吗?它要求您扫描应用程序(war、jar、zip 等),然后将其结果上传到Sonatype Insigh
我正在使用这个引用 documentation用于应用洞察。 如何使用不同查询的输出进行子选择? //Query 1 Events | where Timestamp >= ago(30min) a
我正在试用预览版,并尝试将见解添加到本地部署在我机器上的 IIS Web 应用程序。它是一个运行在普通应用程序池中的 .Net 4.5 应用程序。添加见解后启动应用程序时,出现此异常: 无法加载文件或
如何将 Application insights 最终用户用户分析添加到 DocFx 以跟踪每个文档页面的使用情况? Application Insights 文档指出您需要在结束标记之前立即插入下面
我是一名优秀的程序员,十分优秀!