微软于4月30日发布了Edge 17版,其中推出了微软Edge开发工具协议(Microsoft Edge DevTools Protocol),这是一组JSON和JSON-RPC的API,用于让客户端与Edge浏览器的选项卡进行交互。该协议遵循了Chrome开发工具协议模型,让开发人员能够通过标准Web技术来构建可与Edge浏览器交互的工具。在发布申明博客中,微软资深产品经理Brendyn Alexander表示:
微软还发布了使用该协议的两个客户端:微软Edge开发预览工具和Visual Studio 2017。该协议仿照Chrome开发工具协议以及正在发展中的WICG开发工具标准。根据目前客户端上的文档:
协议的功能按“域”维度来组织,初始版本主要支持了“调试器”域,并最小限度支持了“页面”和“运行时”域,当然还有用于查询可用域列表的“Schema”元数据域。
如果微软继续基于Chrome开发工具协议进行开发,可以预计在未来的版本中将增加更多其他域。在谷歌开发工具协议的文档中重点介绍了39个不同的域,从可访问性到Service worker,外部工具可以使用大量的浏览器功能。
其他主流浏览器也都正处于实现开发工具协议的不同阶段。按Chrome最新稳定版文档中描述,其包含了16个域,而webkit(即Safari)的github中的协议目录上显示,有24个不同域的协议正在开发中。Firefox似乎是主流浏览器中最落后的一个,只存在一个已经停滞的相关tracking bug也没有相关文档。
在浏览器外,Node.js也支持了谷歌开发工具协议的一个子集,在文档中显示目前支持六个域。开发人员可以通过Chrome工具来直接调试Node程序。想要了解如何通过该方式对Node进行调试,可以查看Chrome开发工具的开发者Paul Irish的相关博客。
有兴趣深入了解微软Edge开发工具协议和微软的开发者生态系统的开发人员可以试用微软Edge开发预览工具,或参阅协议文档。
领取专属 10元无门槛券
私享最新 技术干货