前端常见术语

来源:互联网 发布:检测电脑温度软件 编辑:程序博客网 时间:2024/05/01 18:46

一、平稳退化

function popUp(winURL){window.open(winURL,"popup","width=320,height=480");}
打开一个320像素宽、480像素高的新窗口“popup”。

1、平稳退化:

虽然某些功能无法使用,但最基本的操作仍能顺利完成。(确保网页在没有JavaScript的情况下也能正常工作)

原因:你想象的那个用户是一个搜索机器人,搜索机器人是一种自动化的程序,它们浏览Web的目的是为了把各种网页添加到搜索引擎的数据库里。各大搜索引擎都有类似的程序。目前,只有极少数搜索机器人能够理解JavaScript代码。所以,如果你的JavaScript网页不能平稳退化,它们在搜索引擎上的排名就可能大受损害。

2、"javascript:" 伪协议

“真”协议用来在因特网上的计算机之间传输数据包,如http协议,伪协议则是一种非标准化的协议。"javascript:"伪协议让我们通过一个链接来调用JavaScript函数。下面是具体做法:

<a href="javascript:popUp('http://www.example.com/');">Example</a>

存在的问题:较老的浏览器则会去尝试打开那个链接但失败(不支持"javascript:"伪协议的浏览器),支持这种伪协议但禁用了JavaScript功能的浏览器会什么也不做。

3、还有可以通过内嵌的事件处理函数来做:

<a href="#" onclick="popUp('http://www.example.com/'); return false;">Example</a>
存在问题:禁用了JavaScript功能的浏览器,链接不会被打开。

4、经典的“平稳退化”的例子:

<a href="http://www.example.com/" onclick="popUp(this.href); return false;">Example</a>
二、渐进增强

1、渐进增强:

就是用一些额外的信息层去包裹原始数据。按照“渐进增强”原则创建出来的网页几乎(如果不是“全部”的话)都符合“平稳退化”原则。
意思就是将样式、内容、动作分开。

三、向后兼容

1、对象检测:

原因:浏览器对脚本的支持不同。

2、浏览器嗅探技术:

指通过提取浏览器供应商提供的信息来解决向后兼容问题。

存在问题:风险大。浏览器可能“撒谎”;代码维护频繁。

四、性能考虑

1、尽量少访问DOM和尽量减少标记

2、合并和放置脚本

脚本在标记中的位置对页面的初次加载时间也有很大影响。传统上,我们都把脚本放在文档的<head>区域,这种放置方法有一个问题。位于<head>块中的脚本会导致浏览器无法并行加载其他文件(如图像或其他脚本)。一般来说,根据HTTP规范,浏览器每次从同一个域名中最多只能同时下载两个文件。而在下载脚本期间,浏览器不会下载其他任何文件,即使是来自不同域名的文件也不会下载,所有其他资源都要等脚本加载完毕后才能下载。

所以我们可以把所有<script>标签都放到文档的末尾,</body>标记之前,就可以让页面变得更快。即使这样,在加载脚本时,window对象的load事件依然可以执行对文档进行的各种操作。

3、压缩脚本

代码压缩工具:

-Douglas Crockford 的 JSMin 

-雅虎的 YUI Compressor

-谷歌的 Closure Compiler

0 0
原创粉丝点击