浅谈Javascript中的平稳退化(graceful degradation)

首先,什么是平稳退化

通俗的说呢,就是如果正确的使用的javascript脚本,就可以让那些访问者在他们的浏览器不支持javascript的情况下任然可以顺利的浏览你的网站。这就是所谓的平稳退化,也就是说,虽然某个功能无法使用,但最基本的操作任然顺利完成。

下面我们来举一个例子

我们来看在新建窗口中打开一个链接,Javascript使用window对象的open()方法来创建新的浏览器窗口。

下面这个函数是window.open()方法的一种典型应用

function popUp(URl){
		window.open(URl,"baidu","width = 320,hight=600");
	}

当然了调用popUp函数的一个办法就是使用伪协议

下面是通过javascript伪协议调用 

<a href = "javascript:popUP('http://www.cnblogs.com/struCoder/')">Mr.Smart</a>

  

这条语句在支持“javascript:”伪协议的浏览器中运行正常,较老的浏览器会打开失败。

当然了会有人问,谁关心这个啊,在这里我想说,比如那些google,百度的搜索引擎,如果你的javascript网页不能平稳退化,他们在搜索引擎上的排名可能大受损害。那么有什么办法进行改变呢.

为javascript代码预留出退路

<a href="http://www.cnblogs.com/struCoder/" onClick="popUp(this.href);return false;">Click me</a>

  

所以,把这个href属性设置为真实存在的URL地址后,即使javascript已经被禁用,这个链接依然是可用的,虽然这个链接在功能上大了点折扣(因为他没有打开一个新的窗口),这个链接并没有彻底失效,这个一个经典的平稳退化的例子。

原文地址:https://www.cnblogs.com/struCoder/p/3473871.html