当前位置: 首页 > news >正文

免费网站建设系统烟台建网站公司哪家好

免费网站建设系统,烟台建网站公司哪家好,智能网站建设找三好科技,wordpress驾校模版js的sendBeacon方法介绍 Beacon API是一种轻量级且有效的将网页活动记录到服务器的方法。它是一个 JavaScript API#xff0c;可帮助开发人员将少量数据#xff08;例如分析或跟踪信息、调试或诊断数据#xff09;从浏览器发送到服务器。 在本文中#xff0c;我们将介绍B…js的sendBeacon方法介绍 Beacon API是一种轻量级且有效的将网页活动记录到服务器的方法。它是一个 JavaScript API可帮助开发人员将少量数据例如分析或跟踪信息、调试或诊断数据从浏览器发送到服务器。 在本文中我们将介绍Beacon API的相关知识。 什么是sendBeacon 从W3C 的sendBeacon规范来看Beacon 是 Web 开发人员可以使用一个接口来安排异步和非阻塞的数据传输从而最大限度地减少与其他时间关键操作的资源争用同时确保此类请求仍然得到处理并传输到目的地。 有一些来自浏览器的 HTTP 请求不需要读取甚至等待服务器响应通常是事件跟踪、状态更新和分析数据。此类请求的特点是 无需访问 HTTP 响应 - 发送后就忘记轻量级 - 不应影响用户体验或占用太多网络带宽发生在后台无需用户交互关闭页面又称为页面卸载时需要可靠发送 Beacon API 的明确目标是为 Web 开发人员提供一个最小的接口来指定数据和端点然后让浏览器合并请求。 sendBeacon请求包含了以下几个特点 信标请求不需要响应。这与客户端浏览器期望服务器响应的常规XHR请求或fetch请求有很大的不同。即使关闭浏览器sendBeacon请求也保证在页面卸载之前启动。sendBeacon请求无需阻塞请求例如 XHR即可完成注意sendBeacon请求不是XHR请求。请求按优先级排列以避免与时间关键的操作和更高优先级的网络请求竞争。使用 HTTP POST 方法。 sendBeacon的使用 虽然sendBeacon具有广泛的浏览器支持但是为了安全起见我们可以使用下面的代码进行简单的检查简单来测试浏览器支持 if (navigator.sendBeacon) {navigator.sendBeacon(/log-tracking, data); } else {// 备选方案 }sendBeacon方法采用两个参数服务器的 URL 和数据。sendBeacon()方法返回一个布尔值。当请求正确放入队列时它返回true否则返回false。 sendBeacon()的data是可选的并且其类型可以为ArrayBufferView、Blob、DOMString或FormData。 function sendAnalytics(msg) {if (navigator.sendBeacon) {let data new FormData();data.append(start, startTime);data.append(end, performance.now());data.append(msg, msg);navigator.sendBeacon(/log-tracking, data);} else {// 备选方案} }在上面的示例中我们发送用户在启动应用程序上花费的时间和时间。我们还发送一个跟踪msg捕获用户将执行的活动例如单击按钮、滚动到页面部分等 备选方案 通过使用XMLHttpRequest或fetch我们可以在后台定期发布数据并且不读取响应也完全可以。 另一种方法是创建一个img元素并利用它向服务器发出 GET 请求的原理实现数据的上传 const img new Image(); img.src http://xxx?${JSON.stringify(data)};问题是当用户关闭页面时最后一个请求被终止并且无法恢复。换句话说大量分析数据丢失并导致数据失真。 为了避免关闭页面问题一个解决方案是在关闭页面beforeunload和unload监听之前创建一个同步的请求 这对用户体验非常不利因为它会阻止页面卸载想象一下用户必须等待相当长的时间才能关闭浏览器选项卡。 注意事项 navigator.sendBeacon()方法通过HTTP将少量数据异步发送到 Web 服务器。它旨在与visibilitychange事件结合使用但不能与beforeunload和unload事件结合使用。 除了阻止页面卸载之外浏览器不会像我们期望的那样可靠地触发beforeunload和unload这两个事件。 许多开发人员将unload事件视为有保证的回调并将其用作会话结束信号来保存状态并发送分析数据但这样做非常不可靠尤其是在移动设备上在许多典型的卸载情况下unload事件不会触发包括从移动设备上的选项卡切换器关闭选项卡或从应用程序切换器关闭浏览器应用程序。sendBeacon请求保证在页面卸载之前启动并且允许运行完成而无需阻止请求或阻止处理用户交互事件的其他技术。 与其他请求方式不同sendBeacon可以由浏览器调度和合并。这就导致 HTTP 请求时间可能会延迟可以在请求有效负载中包含时间戳数据来解决。 使用场景 有两个主要场景可以使用Beacon API: 用户活动跟踪和分析 当我们想要捕获并发送用户活动和行为的分析报告。这些活动可能包括 用户在会话中停留了多长时间用户使用哪些用户界面控件要捕获的任何其他类型的信息比如说js的错误 调试和诊断 我们可能会遇到某个功能可以在本地开发模式运行但在客户环境生产模式中无法按预期运行的情况在这种情况下可以逻辑地发送这些轻量级信标请求来记录有用的跟踪路径信息并根据需要进行调试、排查错误。 sendBeacon 的数据限制 浏览器对sendBeacon发送的数据大小都是由一定的限制的以确保请求能够快速、及时地完成。这里没有具体说明限制的数值是因为不同的浏览器供应商的实际实现可以有所不同不过在w3c的beacon相关的issue中提到了限制大小为64kb当然这是非标准的。
http://www.hkea.cn/news/14372885/

相关文章:

  • 国外网站备案流程怎么制作网站横幅教案
  • 手机网站建设步骤有哪些好的做问卷调查的网站好
  • wordpress仿站cms广告联盟推广
  • 网站开发实训总结中移电子商务有限公司为什么扣款
  • 莱芜建设银行网站品牌建设公司网站
  • 写作网站排名开发jsp网站
  • php网站开发综合案例建设银行网站无法访问
  • 网站建设 青海深圳有几个区哪个区最繁华
  • 闲鱼网站建设费用安徽六安什么时候解封
  • 临平做网站电话五一网站个人空间
  • 温州建设网站莱州市网站
  • 拖拽式制作网站可以做会员吗详情页设计要求
  • 东莞长安网站开发公司济南华企立方 网站
  • 网站建设比较好的公司都有哪些都匀网站建设
  • 漳州网站建设优化排名开发公司工程管理岗好还是设计岗好
  • 如何新建网站dw北京服饰网站建设
  • 北京高端网站建设制作设计dz论坛seo设置
  • 深圳网站建设公司麦快消品网站建设
  • 家具营销型网站模板做网站找模版好吗
  • 南京米雅途做网站如何网站维护提醒php文件
  • 网站框架都有什么用jsp wordpress
  • 河北省建设机械协会网站本地网站404错误
  • 门户网站app开发公司简介简短
  • 合浦县城乡规划建设局网站零基础电商怎么做
  • 做网站引流到天猫青岛网站建设公司哪家好
  • 三亚做民宿的都用什么网站怎么做一个网站多少钱
  • 网站设计是怎么做的wordpress 豆瓣插件
  • 重庆市建设公共资源交易中心网站做瞹瞹小视频网站
  • 学些网站制作优秀包装设计网站
  • 免费制作公司网站职业技能培训网站