jjzjj

sendbeacon

全部标签

javascript - 如何使 navigator.sendBeacon 使用 GET 方法

我想在客户的网站中使用navigator.sendBeacon。但它使用的是POST方法,并且请求没有到达服务器,因为请求url的域不同。我尝试了使用sendBeacon()的不同方式,但都使用了POST方法。1.vardata=newFormData();navigator.sendBeacon(myurl,data);navigator.sendBeacon(myurl,"");navigator.sendBeacon(myurl);有没有办法使用sendBeacon()进行GET调用?或者有什么方法可以在跨域环境中使用sendBeacon()。 最佳答

javascript - 附加到卸载事件时,sendBeacon 请求卡在 "(pending)"

当我直接在控制台中调用navigator.sendBeacon时,我立即在Chrome开发工具网络Pane中看到请求已成功完成。当我使用类似下面的代码将sendBeacon附加到beforeunload事件,然后离开页面时,我看到网络Pane中添加了一行,但其状态停留在“(待定)”并且从未发送。我做错了什么?window.addEventListener('beforeunload',function(){navigator.sendBeacon('https://www.example.com/sendBeacon-data-collector','Sentbyabeacon!');

javascript - HTTP 请求 beforeunload : sendBeacon vs img. src

在beforeunload的上下文中处理程序,fetch(keep-alive:true)之间的功能区别是什么?并设置srcimg的属性标记,其中哪些是发出GET请求的首选方法?背景:我想在beforeunload中发送一个HTTPGET请求JavaScript代码中的处理程序。Navigator.sendBeacon的文档讨论了它对这个用例有多好,butThesendBeacon()methoddoesnotprovideabilitytocustomizetherequestmethod显然有很多requests几年前对于这样的功能,culminated在recommendatio

javascript - Navigator.sendBeacon() 数据大小限制

我想使用全新的BeaconAPI。我在网上搜索但找不到数据发送数据的大小限制是多少。在引用文献中,它是针对少量数据编写的,但我必须知道有多少... 最佳答案 如果设置了最大大小,则取决于用户代理(浏览器或其他)。参见http://www.w3.org/TR/beacon/#sec-sendBeacon-method通过创建可变长度的字符串N(从的任意高值开始),您可以轻松地为网页中的data大小限制创建测试N,并使用二进制搜索),并检查sendBeacon的返回值(根据规范,sendBeacon返回false时超出用户代理数据限制)

javascript - 未触发 IOS 页隐藏。无法检测页面卸载

我在加载页面时调用此函数:functionsetBeacon(){if(!navigator.sendBeacon){alert("Nonavigatorbeaconavailable.Thisisacriticalbugwhichmustbefixed.");}else{if('beforeunload'inwindow){$(window).on('beforeunload',function(){generateFormSendBeacon();returnundefined;});}elseif('onpagehide'inwindow){alert("onpagehide")

Navigator.sendBeacon-页面关闭也能发送请求

背景最近在需求中有一个这样的场景:需要在页面关闭的时候,用户不需要操作,主动关闭当前订单当时考虑的方案:在页面关闭的时候,向后端发送一个请求,将这个资源释放掉;定下方案时,觉得也不是什么难事,觉得谷歌浏览器应该会提供页面关闭的API供开发者使用。经过查找,找到了这么两个API:beforeunload和unloadbeforeunload当浏览器窗口关闭或者刷新时,会触发beforeunload事件。当前页面不会直接关闭,可以点击确定按钮关闭或刷新,也可以取消关闭或刷新。window.addEventListener('beforeunload',function(event){//Cance

javascript - 如何在 node.js 服务器上接收 "navigator.sendbeacon"发布的数据?

我正在使用新的浏览器功能(navigator.sendBeacon)将异步数据发布到node.js服务器。但我无法在Node服务器上接收它。那么谁能告诉我如何接收sendBeacon在Node服务器上发布的数据。Node服务器代码为:varexpress=require('express');varapp=express();varbodyParser=require('body-parser');//setcrossoriginheadertoallowcross-originrequest.app.use(function(req,res,next){res.header("Acc