JavaScript中的信标beacon是什么?

什么是信标(Beacon)?

信标(Beacon)可以异步与非阻塞的数据传输,从而最大限度地减少与其他关键操作的资源争用,同时它可以确保这些请求一定会被处理并将其传递到服务端:

  • 信标请求优先避免与关键操作和更高优先级的网络请求竞争。
  • 信标请求可以有效地合并,以优化移动设备上的能量使用。
  • 保证页面卸载之前启动信标请求,并允许运行完成且不会阻塞请求或阻塞处理用户交互事件的任务。

信标的使用非常简单:

var data = JSON.stringify({  log: 'it is a log'});
window.navigator.sendBeacon('/apiLog', data)

参数

  • url:上报的目标地址
  • data:被上报的数据
  • 返回值(Return Value):sendBeacon 方法被执行后返回一个布尔值,true 代表用户代理成功地将信标请求加入到队列中,否则返回 false。

用户代理对通过信标发送的数据量进行限制,以确保请求被成功传递到服务端,并且对浏览器活动的影响降到最小。如果要排队的数据量超出了用户代理的限制,sendBeacon方法将返回false,返回true代表浏览器已将数据排队等待传递。然而,由于实际数据传输是异步的,所以此方法不提供任何关于数据传输是否成功的信息。

虽然信标得到了很高的支持度,但还是无法在所有浏览器中使用,所以如果您想使用信标上报前端日志,一些特征检测是必要的。

还有一个需要注意的是,通过信标发送的请求,请求方法均为 POST,且不支持修改。

总结

日志上报在生产环境下不仅仅是把请求发出去。日志上报并不是主要逻辑所以优先级很低,为了最佳的用户体验,在考虑避免占用业务计算资源和避免竞争业务网络请求的同时我们还要保证数据一定会交付到服务端,最好的方式是尽可能的使用信标(Beacon)。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在web测试领域,有一些团体制定的标准和指南,它们可以帮助测试团队规范化和提高测试质量。以下是一些常见的web测试团体标准: 1. W3C(World Wide Web Consortium)标准:W3C是一个国际性的组织,致力于制定Web技术标准。他们发布了一系列的标准,例如HTML、CSS、XML等,这些标准对于web测试非常重要。 2. ISTQB(International Software Testing Qualifications Board)标准:ISTQB是一个国际认可的软件测试资格认证机构,他们制定了一系列的测试标准和术语,例如测试过程、测试设计、缺陷管理等。 3. OWASP(Open Web Application Security Project)标准:OWASP是一个致力于提升Web应用程序安全性的组织,他们发布了一份名为《OWASP Top 10 Web Application Security Risks》的标准,其列出了最常见的Web应用程序安全风险,并提供了测试和防护建议。 4. WCAG(Web Content Accessibility Guidelines)标准:WCAG是W3C发布的一系列关于Web内容无障碍的指南。这些指南涵盖了Web内容的可访问性要求,包括视觉、听觉、认知等方面,以确保Web应用程序对于所有用户都能无障碍地使用。 5. IEEE 829 标准:IEEE 829是一份软件测试文档标准,其包括了测试计划、测试设计、测试用例、缺陷报告等测试文档的规范和模板。 这些团体标准都是在实践得出的经验总结和行业共识,测试团队可以参考并遵循这些标准,以确保测试的规范性、一致性和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张驰Terry

知识源于创作热情,感谢你的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值