网站搜索功能实现优化关键词排名的工具
近年来出现的最好的信息应用程序之一是Alexis Deveria着名的超实用《我可以使用》 。
尽管“我可以使用”非常适合许多前沿功能,但是其中仍然没有包含很多JavaScript和DOM。 那么,对于浏览器是否支持许多不同的JavaScript和DOM功能,还有哪些其他选择呢?
我一直在研究各种前端技术,但是我尚未找到的一件事是一个非常好的一站式资源,其中列出了浏览器对JavaScript和DOM各个方面的支持,包括各种HTML5 API。
尽管实际上并没有单个资源(至少我不知道),但是我遇到的一些资源一起很好地概述了哪些浏览器支持哪些功能,尤其是您可能仍需要支持的任何较旧版本的IE。
当然,实际测试使所有人大吃一惊
在开始使用资源之前,我认为毋庸置疑,在您必须支持的不同设备和浏览器上进行实际测试应该始终是确定支持的主要方法。
能获得二手支持概述真是太好了。 但是“支持”表并不总是包含任何相关的错误,这些错误可能会使有问题的功能无法使用。 除此之外,某些资源可能完全是错误的。
因此,请确保进行测试并使用本文中描述的参考作为指南,而不是作为某些工具在特定设备上的特定平台上的特定浏览器中是否可以正常工作的最终词汇。
MDN参考
如果您在“我可以使用”上找不到任何东西,那么应该首先去看看Mozilla的开发人员网络 。 而且我敢肯定你们大多数人都会这样做。 在大多数情况下,这就是您需要获得对特定JavaScript功能的良好初步支持的概述,而在“我可以使用”中找不到
例如,假设您要查找addEventListener()
和removeEventListener()
。 在“我可以使用”上找不到这些内容。 但是,您可以在MDN上通过浏览器信息找到 两者 。
正如您在上面的屏幕抓图中所看到的,除了显示哪些浏览器具有“基本支持”的详细信息外,该图表中通常还包含有关可能在更高版本的ECMAScript中添加的功能的其他信息。
还要记住,MDN的引用可以由任何人编辑,因此,如果发现不正确的地方,请随时进行更新。
Peter-Paul Koch的QuirksMode DOM参考
如果不提及Peter-Paul Koch和他出色的参考表 ,这些关于浏览器兼容性表的讨论将是不完整的,它们都是基于他自己的测试。
Koch的表格包含台式机和移动浏览器的支持信息,在我看来,DOM东西是最新的,表示支持IE11和iOS7。
Web浏览器兼容性表 ,作者:Cody Lindley
这是由Cody Lindley构建的,它似乎不太知名,他编写了一些有关JavaScript和DOM的出色书籍。 它被称为Web浏览器兼容性表 (WBCT),它是一种庞大的资源。
Cody的网站包括支持表,可以追溯到IE6,并且包括以下内容:
- 桌面和平板电脑/手机浏览器的 DOM支持
- 桌面和平板电脑/手机浏览器的 DOM事件支持
- ES6对台式机和平板电脑/手机浏览器的支持
这些是开发人员研究JavaScript支持信息的主要领域,但是WBCT还包括CSS,BOM,SVG等的支持表。 因此,请确保将其添加为书签。 它是对MDN的很好的全面补充。
大JS兼容性表 ,作者Tobias Buschor
绝对不是一个非常知名的公司,但是它可能包含Cody Lindley表格中未包含的内容或MDN中未明确记录的内容。
这是Tobias Buschor创建的Big JS-Compatibility-Table 。
这也是一个巨大的资源,我非常喜欢它如何使您深入到特定的JavaScript或DOM功能。 例如,如果滚动浏览初始列表(从window
对象开始),则可以单击诸如StorageEvent之类的东西,它会为您提供该特定对象的方法和属性的列表。
尽管这是一个非常全面的资源,但我已经注意到它有时可能很慢,并且主站点似乎发生了一些错误,因此我不确定Tobias是否一直在保持该资源的状态。
如果我正在查看其他地方没有很好记录的特定功能,则通常将其用作第三种或第四种可能性。
Dottoro JavaScript网站参考
由IT服务公司Dottoro维护的Dottoro JavaScript参考是相当不错的资源,可用于许多不同的JavaScript和DOM功能。
如果浏览器支持已满,则在所有版本中,您都会看到一个浏览器图标来表明这一点,或者看到一个褪色的图标来表明缺乏支持。 另外,如果支持从特定版本开始,则也会显示出来。 您可以在下面的屏幕截图中看到这一点:
除了对浏览器的支持之外,此功能还简要描述了您要查找的功能,因此这是一个额外的好处。
我真正喜欢此资源的是很好的搜索功能,当您第一次访问该网站时,这并不是很明显。 单击两个“按名称浏览”按钮之一,即可在灯箱窗口中触发该操作。 侧面按钮在下面的屏幕快照中显示:
您也可以直接在主页上进行搜索,但我喜欢灯箱中的搜索,因为它可以根据您键入的内容立即过滤结果,而不必先查看结果页面。
总体而言, Dottoro参考是一个不错的,引人入胜的资源,其中还包括HTML和CSS功能的浏览器支持信息。
IE Dev Center JavaScript和DOM参考
通常,当我们想知道对浏览器的支持时,是因为我们需要有关IE较旧版本(现在包括IE9和IE10的信息,它们在当今的标准下都被认为“过时”)。
微软的Internet Explorer开发中心拥有大量好的页面,其中包含有关JavaScript和DOM功能的详细支持信息。
例如,您可以访问JavaScript版本信息页面,该页面在表格中列出了许多功能以及IE6-11的支持信息。 您还可以深入浏览每个功能,最终进入专门针对单个功能的页面。
因此,如果您深入到Map对象的forEach方法上的页面,则将获得对该功能的描述以及名为“ Requirements”的部分,该部分概述了IE的哪些版本支持该功能。
这只是可查询内容的一小部分。 还有DOM参考 , Web应用程序参考 (涵盖许多HTML5 API)以及Graphics和Media参考 ,涵盖Canvas,音频/视频API,SVG和WebGL。
这些IE Dev Center参考页中唯一真正的缺陷是它们仅涵盖了对IE浏览器的支持。 但这不是什么大问题,因为IE通常是我们要查找有关浏览器支持的信息的主要原因。
ECAScript 兼容性表 by kangax / Arnott
如果您正在寻找自ES5以来已添加的ECMAScript功能,最好的资源之一就是Juriy“ kangax” Zaytsev和Leon Arnott的兼容性表。
该参考书中的表格涵盖了ES5 , ES6 , ES7和非标准功能的兼容性信息。
奖励:Thijs Busser的JavaScript兼容性检查器
这是Thijs Busser构建的名为JavaScript兼容性检查器 (JSCC)的新工具,可让您粘贴或上传一些JavaScript,然后对代码进行分析。
该工具使用Kangax表和Can I Use中的信息 ,因此这里的重点似乎是ES5和更高版本中更新的API和内容。
为了向您展示它的工作原理,我在Web Workers的MDN文章中添加了一些代码。 注意显示的结果:
在这里,您可以了解代码中使用的存在兼容性问题的功能(即,它们的支持率不足100%),以及哪些浏览器会引起问题。
我会警告您,该工具是新工具,可能会进行一些改进。 例如,当我粘贴一些使用数据集属性的代码时,JSCC告诉我该代码没有任何兼容性问题。 但是MDN表示 IE10或更低版本不支持该功能。 即使dataset
列在“我可以使用”上 ,也会发生这种情况,因此结果应该准确。
因此,尽管这不是一个完整且防呆的工具,但随着它的改进,它肯定值得关注。
结论
如上所述,实际测试应始终是兼容性信息的主要手段。 而且我认为,没有一个地方可以提供所有JavaScript和DOM功能的完整浏览器兼容性信息。 但是我认为我在这篇文章中列出的资源可以作为一个集体实体,您可以依靠该实体获得相当准确的信息。
当然,可能有些我想念的东西。 因此,如果您知道其他来源,请随时将其添加到注释中。
From: https://www.sitepoint.com/resources-javascript-dom-compatibility-tables/