Павел Игорев Asked:2020-09-22 06:27:13 +0000 UTC2020-09-22 06:27:13 +0000 UTC 2020-09-22 06:27:13 +0000 UTC 信标技术和常规ajax有什么区别? 772 在大型网站上,我经常在响应代码中看到“js beacon”的概念。在 Internet 上,并没有真正写过关于此的内容,只是说它是一种 ajax。什么是信标、技术,或者它与常规 JavaScript 有何不同以及有何不同?如果可能的话,用简单的话。 javascript 1 个回答 Voted Best Answer sanmai 2020-09-22T09:28:51Z2020-09-22T09:28:51Z 请求是异步发出的,但不参考当前页面。例如,如果您启动这样的请求,而用户关闭了一个选项卡或导航到另一个页面,那么,与正常的 AJAX 请求不同,您的请求不会被中断,用户也不需要被迫等待完成。 与常规 AJAX 不同,您不会收到对此类请求的响应。您所知道的是,请求是否已排队等待发送到服务器。 这种请求非常适合在离开页面时发送某种分析。例如,您可以记录用户在页面上停留的时间、他们做了什么等。 window.addEventListener('unload', function () { navigator.sendBeacon("/log", analyticsData); }, false); 当然,您可以想办法将这些请求用于其他用途,但是由于您无法知道此类请求是失败还是成功,因此您将受到严重限制。此类请求不适合从服务器获取新数据。 最后,您不能在 IE 和 Safari 中使用这些请求。他们不在那里工作。因此,对于非关键分析以外的任何事情,这种查询还不适合。
请求是异步发出的,但不参考当前页面。例如,如果您启动这样的请求,而用户关闭了一个选项卡或导航到另一个页面,那么,与正常的 AJAX 请求不同,您的请求不会被中断,用户也不需要被迫等待完成。
与常规 AJAX 不同,您不会收到对此类请求的响应。您所知道的是,请求是否已排队等待发送到服务器。
这种请求非常适合在离开页面时发送某种分析。例如,您可以记录用户在页面上停留的时间、他们做了什么等。
当然,您可以想办法将这些请求用于其他用途,但是由于您无法知道此类请求是失败还是成功,因此您将受到严重限制。此类请求不适合从服务器获取新数据。
最后,您不能在 IE 和 Safari 中使用这些请求。他们不在那里工作。因此,对于非关键分析以外的任何事情,这种查询还不适合。