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

网页设计相关的网站动漫制作专业累吗

网页设计相关的网站,动漫制作专业累吗,百度网站首页网址,四川省城乡与建设厅网站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.yingshimen.cn/news/78964/

相关文章:

  • tp框架做网站的优点全球网站制作
  • 深圳博大建设集团网站计算机软件包含网站开发
  • 电视台网站建设方案快排做网站排名
  • 网站建设程序的步骤过程建站经验 网站建设学院
  • 从零开始学做网站上海近期大事件
  • 网站建设开场白软件外包公司怎么赚钱
  • 开发一个app需要什么流程网站分析与优化的文章
  • 广州网站建设 .超凡科技焊接加工订单网
  • 东莞手机端建站模板上海企业网上公示
  • wordpress相关书籍百度快速排名优化工具
  • 做网站好迷茫郑州官方网站建设首选华苏科技
  • 网站页面设计图是用什么软件画的自媒体网站大全
  • 个人电脑建立网站会做软件赚钱的网站
  • 网站wap转换珠海品牌网站制作
  • 很多网站没排名了校园网站设计代码
  • 网站导航如何用响应式做洛阳住房和城乡建设厅网站
  • 五个推进网站建设工作优秀的商城网站首页设计
  • 专业网站建设是哪家便宜瑞安市网站建设
  • 顺德建网站的公司软件设计师资料
  • 阿里做的网站后台怎么进网站建设分为哪几个步骤
  • 石家庄市住房建设局网站江苏建设人才官方网站
  • 怎么做类似站酷的网站国内优秀的企业网站
  • 企业网站导航代码硬件工程师和软件工程师的区别
  • 住房建设局网站wordpress悬浮工具
  • 会计上大额网站费如何做分录视频拍摄剪辑培训班
  • 做设计网站模块的网站哪些网站可以找到做药人的信息
  • 北京高端网站建设服务免费ftp服务器空间
  • 企业网站建设的调研网站的设计费用
  • 用阿里云怎么建网站产品网站建设必要性
  • 公司怎样建自己网站公司网站维护方案