处理超时工具
function createFunctionWithTimeout(callback, opt_timeout) {
var called = false; function fn() { if (!called) { called = true; callback(); } } setTimeout(fn, opt_timeout || 1000); return fn; }
指定不同的传输机制
默认情况下,gtag.js 会选择 HTTPS 方法和传输机制以优化匹配的发送。三个选项包括:
- 'image'(使用
Image
对象) - 'xhr'(使用
XMLHttpRequest
对象) - 'beacon'(使用
navigator.sendBeacon
方法)
前两种方法都具有上一节所描述的问题(如果遇到网页卸载的情况匹配无法发送)。navigator.sendBeacon
方法通过将匹配异步传输到网络服务器来解决此问题,而无需设置匹配回调。
对于支持此功能的浏览器,以下代码将传输机制设置为 'beacon'
。