我无法在网上找到具体的内容。 问题是:
当用户的计算机没有互联网连接并尝试加载Google Analytics时,页面会等待大约1.5分钟,具体取决于浏览器的自然时间。
对于禁止连接到Google并且仅允许连接到Web服务器的网络,这是一个问题。我们很有可能通过这种设置迎合客户。
现在,当用户正在等待来自www.google-analytics.com/analytics.js的回复时,用户按下我们的打印按钮,这会执行一些css内容来创建页面的打印格式,然后调用Javascript窗口.print(),浏览器现在在显示打印面板之前等待Google Analytics的回复。在Chrome和Firefox上测试。
如果在按下打印按钮时仍在加载请求,我正在寻找中止请求的方法。
Google Analytics代码段。
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXX-Y', 'auto'); // Creates a tracker.
ga('send', 'pageview'); // Sends a pageview.
<input id="clickMe" type="button" value="print" onclick="print();"/>
function print(){
window.print()
}
我尝试将其转换为旧的Google Analytics并添加了对ajax函数变量的中止调用,但是,它仍然没有中止。
答案 0 :(得分:0)
您可以尝试使用print
执行window.stop()
回调时禁用所有待处理的请求。根据{{3}}:
stop()方法完全等同于单击浏览器中的停止按钮。由于脚本的加载顺序,stop()方法无法停止加载包含它的文档,但它将停止加载大图像,新窗口和其他加载延迟的对象。
不幸的是,旧版本的Internet Explorer似乎不支持此方法,因此您可能还需要使用document.execCommand('Stop');
。
在线发现的这篇文章提供了有关此功能的更多详细信息:MDN
希望它有所帮助!