前端“平稳退化”的理解
程序员文章站
2022-03-09 13:06:55
...
问题来源:
我第一次遇到“平稳退化”这个概念是在《javascript Dom 编程艺术》(第二版)。
书本解释:
它是解决不同浏览器兼容性的一种策略或者说处理方式。按《JavaScript Dom 编程艺术》的描述,这个策略是:正确地使用JavaScript脚本,让访问者在他们不同浏览器不支持JavaScript的情况下能顺利地浏览你的网站。也就是说,某些功能无法使用,但基本的操作仍然能顺利完成。
例子:
没有使用“平稳退化”策略处理的:
当用户禁用或者浏览器不支持JavaScript时,a的链接就打开不了
<a id="a1">exp</a> <script> document.getElementById("a1").addEventListener("click",function() { window.location.href="url"; }); </script>
使用了“平稳退化”策略的:
若浏览器支持JavaScript,a可以正常使用。若浏览器不支持JavaScript,那么通过href标签依然可以获得a的链接
虽然功能退化了,但依然平稳地实现基本的需求。
<a id="a1" href="url">exp</a> <script> document.getElementById("a1").addEventListener("click",function() { window.location.href="url"; return false; }); </script>
我的理解:
“平稳退化”是主要实现和次要实现都考虑的策略,从主要实现中退化,而在不支持主要实现的环境中用次要实现中平稳地运行。