我们正在启动一个项目,希望与浏览器兼容 - 这似乎表明我们需要确保我们正在使用的JavaScript版本适用于我们打算支持的所有浏览器。以下是一种合理的方法来测试每个浏览器中JavaScript级别的工作原理吗?
<script language="javascript1.0">alert("Your browser at least supports JavaScript 1.0");</script>
<script language="javascript1.1">alert("Your browser at least supports JavaScript 1.1");</script>
<script language="javascript1.2">alert("Your browser at least supports JavaScript 1.2");</script>
<script language="javascript1.3">alert("Your browser at least supports JavaScript 1.3");</script>
<script language="javascript1.4">alert("Your browser at least supports JavaScript 1.4");</script>
<script language="javascript1.5">alert("Your browser at least supports JavaScript 1.5");</script>
<script language="javascript1.6">alert("Your browser at least supports JavaScript 1.6");</script>
<script language="javascript1.7">alert("Your browser at least supports JavaScript 1.7");</script>
<script language="javascript1.8">alert("Your browser at least supports JavaScript 1.8");</script>
显然,随着更多JavaScript版本的发布,测试列表可以扩展。
此信息是否有更好的方式(或来源)?
顺便说一句,我确实看到了Wikipedia page on JavaScript versions,但它似乎与我在上面运行代码段时获得的结果相对应。
我的结果是:
Firefox 43.0.4 - 报告支持JavaScript 1.0到1.5
IE 10.0.9200.17566 - 报告支持JavaScript 1.1到1.3
Chrome版本47.0.2526.111 m - 报告支持JavaScript 1.0到1.7
Safari 5.1.7(7534.57.2) - 报告支持JavaScript 1.0到1.7
Opera 34.0.2036.50 - 报告支持JavaScript 1.0到1.7
答案 0 :(得分:8)
以下是一种合理的方法来测试每个浏览器中JavaScript级别的工作原理吗?
没有
不要使用[language]
属性,它只会导致您不兼容,特别是随着时间的推移,新的浏览器决定它们只支持javascript3.8
或者版本兼容版本是。如果你想编写一个脚本,只需编写一个脚本:
<script src="filename.js"></script>
就检测版本而言,您不需要检测JS版本。没有开发人员值得他们的盐检查版本,他们检查功能。 Modernizr就是这样一种特征检测资源。 caniuse是另一个描述哪些浏览器支持哪些功能,以便您可以确定是否能够使用任何特定功能。
在许多情况下,您希望获得最大向后兼容性的是一组polyfill,用于复制您希望用于旧版浏览器的任何较新功能。