IBM站一个网页到底包含了多少技术--看分析
2006-03-01 15:24
393 查看
IBM首页源代码浅析----转
一、浏览器兼容性
作为一个国际大公司的站点,保证能在不同浏览器下的可浏览性是必须考虑的,这点IBM的做法不得不令人佩服。它巧妙的利用一个javascript(ibmcss.js)根据不同的浏览器选择不同的样式表,这也就是为什么我们直接打开保存在硬盘上的IBM页面不能看到用样式表定义的原因。
打开ibmcss.js,分析一下代码,我们就可以发现IBM一共设计了四个样式表: ie1.css , ie6.css , r1.css , ns1.css 。这四个样式表大部分都相同,主要的区别在于字体大小(font-size)的单位:ie6 里用%,r1里用px,ns1里用pt。下面是同样的一条样式在不同css里的定义:
ie6.css: body { font-family: Arial, sans-serif; font-size: 78%; }
r1.css :body,p,b,i,strong,em,dt,dd,dl,sl,caption,th,td,tr,u, blink,select, option,form,div,font,li { font-family: Arial, sans-serif; font- size: 12px; }
ns1.css: body,dt,dd,dl,sl,caption,th,td,tr,select,option,form,font { font-family: Arial, sans-serif; font-size: 9pt; }
而从对ibmcss.js里程序逻辑的分析可以得到下面样式表和浏览器的对应关系:
r1.css : Macintosh IE4.0以上,Macintosh Netscape4.0以上,Netscape5.0以上,
X11 Netscape5.0以上 (Xwindows for linux or unix,I guest )
ie6.css: Windows IE4.0以上,
ns1.css: 其他操作系统Netscape4.0以上
ie1.css: 其他操作系统IE4.0以上
我分别在Windows XP+IE6.0和Linux Rat hat 7.1+NS4.7两个环境下测试了这四个样式表,在IE6里四个样式表
都可以正常显示,只是字体大小略有区别;而在NS4.7里,用ie1.css和ns1.css定义的页面字体模糊不清,而用
r1.css和ie6.css显示的页面可以正常显示。
同时,IBM也考虑到了部分浏览器不支持javascript的情况,在ibmcss.js后紧跟了一句<NOSCRIPT><LINK href="r1.css" type=text/css rel=stylesheet></NOSCRIPT>,对于不支持javascript的浏览器将统一采用r1.css。不过这里有一点我不能理解的是为什么在head里面用了两句同样的<NOSCRIPT>语句,是为了保险起见还是设计者没有精简掉呢,希望大家能一起探讨。
二、规范全面的META内容
作为一个规范的页面,详尽的META内容是必不可少的,这一点IBM一直做得很好,我们可以回顾一下其99年页面里的META内容:
<meta content="ibm international business machines internet" name="keywords">
<meta content="http://www.ibm.com/" name="alias">
<meta content="webmaster@www.ibm.com" name="owner">
<meta
content="The IBM corporate home page, entry point to information about IBM products and services"
name="description">
<meta
content="(PICS-1.1 "http://www.rsac.org/ratingsv01.html"; l gen true comment "RSACi
North America Server" by "epc@www.ibm.com"; for "http://www.ibm.com/"; on
"1997.07.05T21:46-0500" r (n 0 s 0 v 0 l 0))"
http-equiv="PICS-Label">
<meta
content="(PICS-1.0 "http://www.classify.org/safesurf/"; l gen true for
"http://www.ibm.com/"; by "epc@www.ibm.com"; r (SS~~000 1 SS~~100 1))"
http-equiv="PICS-Label">
今天的IBM页面META内容更是丰富,从下面的一些例子我们就可见一斑:
1、基本信息
<META http-equiv=content-type content="text/html; charset=iso-8859-1">
<META http-equiv=Pragma content=no-cache>
<META content=webmaster@www.ibm.com name=Owner>
<META content="Copyright (c) 2001 by IBM Corporation" name=Copyright>
<META content=us name=IBM.Country>
<META content=index,follow name=Robots>
<META content=public name=Security>
<META content=Franklin/IPC name=Source>
<META http-equiv=PICS-Label
content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1)
"http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0)
"http://www.classify.org/safesurf/" l gen true r (SS~~000 1))'>
2、scheme
<META scheme=rfc1766 content=en-us name=DC.Language>
<META scheme=iso8601 content=2001-08-09 name=DC.Date>
3、描述与关键词
<META
content="The IBM corporate home page, entry point to information about IBM products and services"
name=Description>
<META
content="The IBM corporate home page, entry point to information about IBM products and services"
name=Abstract>
<META
content="ibm,international business machines,internet,e-business,ebusiness,personal
computer,personal system,e-commerce,ecommerce,pc,workstation,mainframe,unix,technical
support,homepage,home page"
name=Keywords>
内容详尽全面,完全符合一个规范页面的要求,这点我想是挺值得我们学习的。
三、Web数据流分析
作为一个国际大公司的站点,仅通过简单的点击计数是远远不能达到营销目的所需的详细程度,从下面的代码我们大致可以猜测出IBM站点使用了Keylime Software公司的Web数据流分析方案(在随后对Keylime Software公司网站访问中证实了这一点):
<SCRIPT language=javascript type=text/javascript><!-- Keylime Software 09/16/2001var kl_version = "1.1.0";var kl_startLoadTime = new Date();var kl_companyId = "23";var kl_siteId = "77.78.0.774";var kl_sessionCookieVisibility = "; domain=ibm.com";var kl_sessionCookiePathVisibility = "; path=/";//--></SCRIPT><SCRIPT language=javascript1.2 src="stats.js" type=text/javascript></SCRIPT>
引用:
--------------------------------------------------------------------------------
在电子商务早期阶段时,Web 站点数据流分析通常不过是指在你的主页上安装计数器以及在一个外部日志文件上运行简单的统计程序以记录点击率。但是,业界领导们很快意识到简单的点击计数既不准确也远未达到营销目的所需的详细程度。因此,各公司开始寻找更先进的分析工具,这类工具可以提供谁在访问公司Web 站点以及访问者一旦进入站点后将做些什么的全面信息。...
一些ASP已经开始将基于服务的分析工具包括在他们提供的多种服务中,希望能减少一定的先期技术与财务负担。像Keylime Software公司的iEchoes这类解决方案按每月收费的方式提供对用户不同企业级分析工具的接入。在ASP模型中,你不必为硬件基础设施或培训投资,程序可以立即运行, 并且有时作为合同的一部分,你甚至可以获得咨询服务。不过,基于ASP 的软件通常也存在缺点,如第三方将可以接触到你严密防守的秘密。 ...
引自:网络世界: Web数据流分析超越点击计数 www.cnw.com.cn/cnw/2000/33/3312.asp
--------------------------------------------------------------------------------
更详尽的信息可从Keylime Software公司的站点获得:http://www.klsoft.com
四、ejsmsp.js
该js里包含了丰富的内容,因为用到了SetCookie(),ReadCookie()等函数,我想这个js的功能之一应该是设置Cookie,以使网页更有个性化,方便浏览者获取想要的信息。从长长的链接列表我们可以感受到IBM为了方便浏览者而精心的考虑,而且在不同的页面ejsmsp.js里的链接列表都不尽相同,真可谓用心良苦
纵观整个页面的源文件,一共用了一个内部javascript和三个外部javascript文件,每个javascript都起了不可或缺的作用,但没有一个是用来实现页面动态效果的,这正好印证了一段话:“dhtml是动态html,动态并不代表会移动的像素。 这里的动态指的是交互。 交互是web design与平面设计最主要的设计差别。 掌握dhtml的思想是至关重要的。"
上面就是我对IBM首页源代码的粗浅分析,由于水平有限,难免有错漏的地方,希望大家多多指教。
作者:Poster:noee
一、浏览器兼容性
作为一个国际大公司的站点,保证能在不同浏览器下的可浏览性是必须考虑的,这点IBM的做法不得不令人佩服。它巧妙的利用一个javascript(ibmcss.js)根据不同的浏览器选择不同的样式表,这也就是为什么我们直接打开保存在硬盘上的IBM页面不能看到用样式表定义的原因。
打开ibmcss.js,分析一下代码,我们就可以发现IBM一共设计了四个样式表: ie1.css , ie6.css , r1.css , ns1.css 。这四个样式表大部分都相同,主要的区别在于字体大小(font-size)的单位:ie6 里用%,r1里用px,ns1里用pt。下面是同样的一条样式在不同css里的定义:
ie6.css: body { font-family: Arial, sans-serif; font-size: 78%; }
r1.css :body,p,b,i,strong,em,dt,dd,dl,sl,caption,th,td,tr,u, blink,select, option,form,div,font,li { font-family: Arial, sans-serif; font- size: 12px; }
ns1.css: body,dt,dd,dl,sl,caption,th,td,tr,select,option,form,font { font-family: Arial, sans-serif; font-size: 9pt; }
而从对ibmcss.js里程序逻辑的分析可以得到下面样式表和浏览器的对应关系:
r1.css : Macintosh IE4.0以上,Macintosh Netscape4.0以上,Netscape5.0以上,
X11 Netscape5.0以上 (Xwindows for linux or unix,I guest )
ie6.css: Windows IE4.0以上,
ns1.css: 其他操作系统Netscape4.0以上
ie1.css: 其他操作系统IE4.0以上
我分别在Windows XP+IE6.0和Linux Rat hat 7.1+NS4.7两个环境下测试了这四个样式表,在IE6里四个样式表
都可以正常显示,只是字体大小略有区别;而在NS4.7里,用ie1.css和ns1.css定义的页面字体模糊不清,而用
r1.css和ie6.css显示的页面可以正常显示。
同时,IBM也考虑到了部分浏览器不支持javascript的情况,在ibmcss.js后紧跟了一句<NOSCRIPT><LINK href="r1.css" type=text/css rel=stylesheet></NOSCRIPT>,对于不支持javascript的浏览器将统一采用r1.css。不过这里有一点我不能理解的是为什么在head里面用了两句同样的<NOSCRIPT>语句,是为了保险起见还是设计者没有精简掉呢,希望大家能一起探讨。
二、规范全面的META内容
作为一个规范的页面,详尽的META内容是必不可少的,这一点IBM一直做得很好,我们可以回顾一下其99年页面里的META内容:
<meta content="ibm international business machines internet" name="keywords">
<meta content="http://www.ibm.com/" name="alias">
<meta content="webmaster@www.ibm.com" name="owner">
<meta
content="The IBM corporate home page, entry point to information about IBM products and services"
name="description">
<meta
content="(PICS-1.1 "http://www.rsac.org/ratingsv01.html"; l gen true comment "RSACi
North America Server" by "epc@www.ibm.com"; for "http://www.ibm.com/"; on
"1997.07.05T21:46-0500" r (n 0 s 0 v 0 l 0))"
http-equiv="PICS-Label">
<meta
content="(PICS-1.0 "http://www.classify.org/safesurf/"; l gen true for
"http://www.ibm.com/"; by "epc@www.ibm.com"; r (SS~~000 1 SS~~100 1))"
http-equiv="PICS-Label">
今天的IBM页面META内容更是丰富,从下面的一些例子我们就可见一斑:
1、基本信息
<META http-equiv=content-type content="text/html; charset=iso-8859-1">
<META http-equiv=Pragma content=no-cache>
<META content=webmaster@www.ibm.com name=Owner>
<META content="Copyright (c) 2001 by IBM Corporation" name=Copyright>
<META content=us name=IBM.Country>
<META content=index,follow name=Robots>
<META content=public name=Security>
<META content=Franklin/IPC name=Source>
<META http-equiv=PICS-Label
content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1)
"http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0)
"http://www.classify.org/safesurf/" l gen true r (SS~~000 1))'>
2、scheme
<META scheme=rfc1766 content=en-us name=DC.Language>
<META scheme=iso8601 content=2001-08-09 name=DC.Date>
3、描述与关键词
<META
content="The IBM corporate home page, entry point to information about IBM products and services"
name=Description>
<META
content="The IBM corporate home page, entry point to information about IBM products and services"
name=Abstract>
<META
content="ibm,international business machines,internet,e-business,ebusiness,personal
computer,personal system,e-commerce,ecommerce,pc,workstation,mainframe,unix,technical
support,homepage,home page"
name=Keywords>
内容详尽全面,完全符合一个规范页面的要求,这点我想是挺值得我们学习的。
三、Web数据流分析
作为一个国际大公司的站点,仅通过简单的点击计数是远远不能达到营销目的所需的详细程度,从下面的代码我们大致可以猜测出IBM站点使用了Keylime Software公司的Web数据流分析方案(在随后对Keylime Software公司网站访问中证实了这一点):
<SCRIPT language=javascript type=text/javascript><!-- Keylime Software 09/16/2001var kl_version = "1.1.0";var kl_startLoadTime = new Date();var kl_companyId = "23";var kl_siteId = "77.78.0.774";var kl_sessionCookieVisibility = "; domain=ibm.com";var kl_sessionCookiePathVisibility = "; path=/";//--></SCRIPT><SCRIPT language=javascript1.2 src="stats.js" type=text/javascript></SCRIPT>
引用:
--------------------------------------------------------------------------------
在电子商务早期阶段时,Web 站点数据流分析通常不过是指在你的主页上安装计数器以及在一个外部日志文件上运行简单的统计程序以记录点击率。但是,业界领导们很快意识到简单的点击计数既不准确也远未达到营销目的所需的详细程度。因此,各公司开始寻找更先进的分析工具,这类工具可以提供谁在访问公司Web 站点以及访问者一旦进入站点后将做些什么的全面信息。...
一些ASP已经开始将基于服务的分析工具包括在他们提供的多种服务中,希望能减少一定的先期技术与财务负担。像Keylime Software公司的iEchoes这类解决方案按每月收费的方式提供对用户不同企业级分析工具的接入。在ASP模型中,你不必为硬件基础设施或培训投资,程序可以立即运行, 并且有时作为合同的一部分,你甚至可以获得咨询服务。不过,基于ASP 的软件通常也存在缺点,如第三方将可以接触到你严密防守的秘密。 ...
引自:网络世界: Web数据流分析超越点击计数 www.cnw.com.cn/cnw/2000/33/3312.asp
--------------------------------------------------------------------------------
更详尽的信息可从Keylime Software公司的站点获得:http://www.klsoft.com
四、ejsmsp.js
该js里包含了丰富的内容,因为用到了SetCookie(),ReadCookie()等函数,我想这个js的功能之一应该是设置Cookie,以使网页更有个性化,方便浏览者获取想要的信息。从长长的链接列表我们可以感受到IBM为了方便浏览者而精心的考虑,而且在不同的页面ejsmsp.js里的链接列表都不尽相同,真可谓用心良苦
纵观整个页面的源文件,一共用了一个内部javascript和三个外部javascript文件,每个javascript都起了不可或缺的作用,但没有一个是用来实现页面动态效果的,这正好印证了一段话:“dhtml是动态html,动态并不代表会移动的像素。 这里的动态指的是交互。 交互是web design与平面设计最主要的设计差别。 掌握dhtml的思想是至关重要的。"
上面就是我对IBM首页源代码的粗浅分析,由于水平有限,难免有错漏的地方,希望大家多多指教。
作者:Poster:noee
相关文章推荐
- IBM站一个网页到底包含了多少技术
- Spark技术内幕:一个图搞定Spark到底有多少行代码
- 没个百来万就想自建技术团队?亲身经历告诉你,一个APP从无到有的开发到底要花多少钱!
- Spark技术内幕:一个图搞定Spark到底有多少行代码
- 开发一个12306网站要多少钱?技术分析12306合格还是不合格
- [技术讨论]专业词汇需要严谨的分析——Serializable到底应该是串行还是序列
- 一串首尾相连的珠子(m 个),有N 种颜色(N<=10),设计一个算法,取出其中一段,要求包含所有N 中颜色,并使长度最短。并分析时间复杂度与空间复杂度。
- 一个台阶总共有n 级,如果一次可以跳1 级,也可以跳2 级,求总共有多少总跳法,并分析算法的时间复杂度。
- 一个Android进程到底有多少个context对象呢
- uva 11529 求一个平面内有多少个凸边形 或者求所有三角形包含点的总个数
- 【微软100题】一个台阶总共有n 级,如果一次可以跳1 级,也可以跳2 级,求总共有多少总跳法,并分析算法的时间复杂度
- 搜索引擎重复网页发现技术分析【网页去重】
- 网页设计到底是美术?是技术?还是...?
- 一个台阶总共有n 级,如果一次可以跳1 级,也可以跳2 级,求总共有多少总跳法,并分析算法的时间复杂度。
- 深入分析网页CSS隐藏文字和以图换字技术
- 一个应用程序在某一时刻,到底是用了多少内存?
- [题解]编程设有一个n*m方格的棋盘(1<=m,n<=100),求该棋盘包含多少正方形,长方形?
- 判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
- 搜索引擎复制网页的算法和重复网页发现技术分析
- 一串首尾相连的珠子(m个),有N种颜色(N《=10),设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短。并分析时间复杂度与空间复杂度