摘要:Google在Chrome 135版本中加入两项HTML新属性,分别是command与commandfor,目的是要以声明的方式简化网页互动功能的开发流程。这两项属性可直接应用在按钮等组件上,开发人员无需撰写额外的JavaScript程序代码,就能简单实例如弹
Google在Chrome 135版本中加入两项HTML新属性,分别是command与commandfor,目的是要以声明的方式简化网页互动功能的开发流程。这两项属性可直接应用在按钮等组件上,开发人员无需撰写额外的JavaScript程序代码,就能简单实例如弹出窗口或对话框等互动行为,并同时兼顾无障碍设计需求。
新属性的推行,将有望取代过去使用popovertarget与popovertargetaction属性的旧做法,若能获得其他主流浏览器与开发者的普遍采用,将可进一步减少开发复杂性与提升跨平台一致性。
过去,开发人员要处理网页上按钮与其他组件之间的互动,常需使用JavaScript监听事件,例如click或toggle,并自行维护组件状态以及无障碍辅助属性,导致程序代码复杂且维护成本增加。虽然如React、Svelte或AlpineJS等前端框架已通过封装组件与状态管理,提供更好的使用体验,但这也让开发者必须依赖框架,降低了跨平台或跨框架的可移植性。
Command与commandfor这两个新属性,能借由原生HTML方式直接创建按钮与目标组件间的互动关联,例如按钮可使用commandfor指定目标组件的ID,再以command属性指定要执行的动作,像是show-popover、toggle-popover或show-modal等,让浏览器本身管理互动的流程,不仅程序代码量大幅减少,也确保了跨浏览器兼容性与更好的无障碍支持。
除此之外,Chrome 135还允许开发者自订command,通过前缀“--”来指定非内置的自定义互动行为,提供开发人员足够的弹性,以应对不同应用场景需求。即使在使用影子DOM架构下,也能通过JavaScript API设置元素之间的互动关联,克服过去影子DOM组件互动困难的限制。
Chrome的这些更新逐步降低网页组件互动的复杂性,让原生HTML的表达能力更丰富且标准化程度更高,降低前端开发的门槛与成本。未来这项技术可能拓展至其他互动需求,例如影音播放控制、输入组件的弹出菜单或元素文本复制等,推动更广泛的网页互动功能标准化。
来源:十轮网