我现在有一些间歇性的互联网连接问题, 结果是我的网页加载(对于我的网站)被卡住了。
下角的Chrome状态显示:“等待api.mixpanel.com”
Chrome开发者工具无法打开。
发生了什么以及如何编写mixpanel api调用以避免这种情况? 即:我的网站仍然可以操作,我可以访问,但mixpanel不是 - 我希望网页在这种情况下仍然可以加载。
*编辑:2013年2月6日添加其他信息*
@raylu我在上个月内得到了我的mixpanel javascript,所以这是最近的。 我不知道如何获得mixpanel版本,但这里有一些片段:
我把它放在<头>我的HTML页面:
<!-- 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>
答案 0 :(得分:1)
当调用mixpanel.track
时,Mixpanel JS库会触发XHR(对于大多数浏览器)。这使得它看起来像您的页面正在加载(选项卡上的微调器),直到请求完成。然而,XHR是完全异步的,并且不会影响页面上任何其他JS的性能,因为它不会阻止任何其他JS运行。
唯一一次这可能是错误的,如果你将回调传递给track
:
mixpanel.track('some event', {'some prop': 'some value'}, function() {
window.location = '/thanks';
});
如果没有连接,则回拨永远不会触发。但是,只要您不依赖于此行为并且只是跟踪,最糟糕的情况就是您会丢失一些事件。