我的页面加载被Chrome状态冻结“;正在等待api.mixpanel.com“-这是什么,我该如何避免

my page loading is frozen with Chrome status "waiting for api.mixpanel.com" - what is this and how can I avoid it?

本文关键字:com mixpanel 是什么 何避免 api 在等待 加载 Chrome 状态 冻结 我的      更新时间:2023-09-26

我现在遇到了一些间歇性的互联网连接问题,结果是我的网页加载(为我的网站)被卡住了。

下角的Chrome状态显示:"正在等待api.mixpanel.com"

Chrome开发人员工具未打开。

发生了什么,我如何编写mixtpanel api调用代码来避免这种情况?ie:我的网站仍然可以运行,我可以访问,但mixtpanel不能——我希望在这种情况下网页仍然可以加载。

*编辑:2013年2月6日,添加更多信息*

@raylu我在上个月得到了我的混合面板javascript,所以它是最近的。我不知道如何获得混合面板版本,但这里有一些片段:

我把这个放在<我的html页面的head>:

<!-- start Mixpanel -->
...
src=("https:"===e.location.protocol?"https:":"http:")+'//cdn.mxpnl.com/libs/mixpanel-2.2.min.js';
...
)};b.__SV=1.2}})

然后,我有了我的html正文内容。然后,我用关闭身体

</body>
<script type="text/javascript">mixpanel.track('some tag');</script>
<script type="text/javascript">mixpanel.name_tag('some id');</script>
</html>

当调用mixpanel.track时,Mixtpanel JS库会触发XHR(对于大多数浏览器)。这使得页面看起来像是在加载(选项卡上的微调器),直到请求完成。然而,XHR是完全异步的,不会影响页面上任何其他JS的性能,因为它不会阻止任何JS的运行。

唯一可能不好的情况是,如果您将回调传递给track:

mixpanel.track('some event', {'some prop': 'some value'}, function() {
    window.location = '/thanks';
});

如果没有连接,回调将永远不会启动。不过,只要你不依赖这种行为,只跟踪,最坏的情况是你会失去一些事件。