如果没有互联网,我打印时中止Google Analytics

我无法具体找到我需要的网络。 问题是:

当用户的计算机没有互联网连接并尝试加载Google Analytics时,该页面会等待大约1.5分钟,具体取决于浏览器的自然时间。

对于禁止连接到Google并仅允许连接到Web服务器的网络,这是一个问题。 我们很有可能会以这种方式迎合客户。

现在,当用户正在等待www.google-analytics.com/analytics.js的回复时,用户按下我们的打印按钮,该按钮会创建页面的打印格式,然后调用Javascript window.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函数变量添加了一个中止调用,但是它仍然没有中止。


使用window.stop()执行print回调时,您可以尝试禁用所有待处理的请求。 根据MDN:

stop()方法完全等同于单击浏览器中的停止按钮。 由于加载脚本的顺序,stop()方法无法停止载入脚本的文档,但会停止加载大图像,新窗口和其他加载延迟的对象。

不幸的是,似乎老版本的Internet Explorer不支持此方法,因此您可能还需要使用document.execCommand('Stop');

在线发现的这篇文章提供了有关此功能的更多详细信息:http://hungred.com/useful-information/opera-netscape-issues-stop-page-loading-javascript/

希望能帮助到你!

链接地址: http://www.djcxy.com/p/31187.html

上一篇: Abort Google Analytics when I print if there is no internet

下一篇: Google Analytics event tracking