跳转到主要内容

【前端开发】与业界合作发展CHIPS

探讨Chrome团队在实施CHIPS时面临的两个挑战,以及社区反馈如何在提案设计的演变中发挥关键作用。
 
Cookies Having Independent Partitioned State(CHIPS)是一种隐私沙盒技术,允许开发者将cookie选择到“分区”存储中,每个顶级网站都有单独的cookie罐。
CHIPS的示例用例包括跨站点子资源需要某些会话或持久状态概念的任何场景,这些概念的范围是用户在单个顶级站点上的活动,如第三方聊天小部件、地图嵌入、子资源CDN负载平衡、无头CMS提供方等。

CHIPS的开发目标是成为一个开放的网络标准。PrivacyCG正在对其进行讨论,并进行了为期7个月的原产地试验,在此期间,Chrome团队收到了有益的反馈。在开发过程中,团队与主要利益相关者合作,探索反馈,从而更新设计,更好地服务于网络生态系统。

让我们探讨一下Chrome团队在实施CHIPS时面临的两个挑战,以及社区反馈如何在提案设计的发展中发挥关键作用。

删除主机前缀且无域要求


为了鼓励良好的安全实践,CHIPS设计要求cookie只能由安全协议设置并通过安全协议发送,并且分区cookie必须使用secure设置。

【前端开发】第三方Cookie的终结——Chrome将于2024年弃用它们

2024年1月初,谷歌宣布并开始逐步淘汰第三方cookie。由于1%的Chrome用户以及Safari和Firefox用户已经阻止了这些应用,公司需要尽快开始远离这些应用。

1月4日,我们将开始测试跟踪保护,这是一项新功能,通过默认情况下限制网站访问第三方cookie来限制跨网站跟踪。我们将向全球1%的Chrome用户推出这项服务,这是我们隐私沙盒计划的一个关键里程碑,该计划将在2024年下半年逐步淘汰所有人的第三方cookie,但需解决英国竞争与市场管理局遗留的任何竞争问题。

1%是3200万用户,这并非微不足道。

【前端架构】浏览器存储分区

为防止出现某些类型的边信道跨渠道跟踪,Chrome 已在第三方环境中对大多数存储和通信 API 进行了分区。

已在 Chrome 115 及更高版本中为所有用户启用此功能。存储分区方案可公开进行进一步讨论。

如果网站没有时间实现对第三方存储分区的支持,可以参与暂时取消分区的弃用试用(通过同源政策继续隔离,但取消顶级网站的隔离),并恢复其网站上嵌入的内容中 Storage、Service Worker 和通信 API 的先前行为。

【前端开发】推出 Privacy Sandbox 分析工具 (PSAT)

为方便测试,Chrome 会默认限制 1% 的用户使用第三方 Cookie。2025 年初,Chrome 将逐步推行至 100% 的用户。这一问题将扩大到 100% 的用户范围,需要解决英国竞争和市场管理局提出的任何剩余的竞争问题。

作为开发者,您的目标是尽可能减少因这些变化而对用户造成的影响。为此,您需要了解 Privacy Sandbox,并利用工具和指南来审核您网站上的核心用户历程 (CUJ)。此类工具包括三个主要组件:

【前端开发】推出 Privacy Sandbox 分析工具 (PSAT)

为方便测试,Chrome 会默认限制 1% 的用户使用第三方 Cookie。2025 年初,Chrome 将逐步推行至 100% 的用户。这一问题将扩大到 100% 的用户范围,需要解决英国竞争和市场管理局提出的任何剩余的竞争问题。

作为开发者,您的目标是尽可能减少因这些变化而对用户造成的影响。为此,您需要了解 Privacy Sandbox,并利用工具和指南来审核您网站上的核心用户历程 (CUJ)。此类工具包括三个主要组件:

【Angular】如何将您的Angular应用程序从RxJS重构为Angular Signals

Angular引入信号已经有一段时间了,社区开始讨论这是前进还是后退。对我来说,这绝对是向前迈出的一步。

让我们快速回顾一下信号是什么,然后我们将快速介绍如何考虑您的公司应用程序以及如何重构它的步骤和技巧,讨论应该采取什么方法。

首先,在一开始,Angular团队采取了一种有点特殊的方法,并为所有事情引入了RxJs模式,即使在它不是最佳选择的用例中也是如此。例如,如果您想要发出HTTP请求、保存响应并在视图中显示它,则需要首先从Angular导入HttpClient,然后通过订阅它来调用API,或者使用.pipe()运算符创建另一个层。之后,您可以订阅它:

【Angular 】Angular 17:注入还是构造函数?信号还是观测?变更检测?

Angular不断发展,创建组件的方法也在不断发展。加入我的组件开发指南之旅

去Angular 17是一段漫长的旅程。在保持向后兼容性的同时,Angular团队正在不断发展框架。和许多其他人一样,我发现自己一直在思考使用什么以及何时使用它。在本文中,我将表达我对创建新组件时应该使用什么的想法。

Signals

信号从版本16开始就可用了,它们是应用程序上管理状态的必备工具。如果你还没有使用Signals,是时候开始使用了。最初,可能会有一个学习曲线,但它很简单,随着时间的推移,它会变得很自然。与OnPush变化检测相结合,它提供了精细调整的反应性、性能增益和令人愉快的开发体验。

Observables

如果我们有信号,为什么我们需要可观察性?请记住,信号处理同步反应性,而可观察性处理异步反应性,例如HTTP请求,同时为我们提供与这些值交互的工具(map、switchMap)。

ChangeDetection.OnPush

首先,对每一个进行简要说明: