当前位置:Linux教程 - Linux文化 - 怎样的网站才是标准网站及使用Linux下IE浏览器?

怎样的网站才是标准网站及使用Linux下IE浏览器?


首先我们来看一下一些网络上搜索的的关于“标准网站的讨论”,这里摘录的文字主要来自http://www.xker.com/Html/wysj/wyxg/20060116627.html和http://www.showme99.com/yemian/18/40008.htm 然后我们再来看看如何在Linux下浏览那些不符合标准的网站吧。 如果大家想了解更多可以去http://webstandards.org/看看,也可以直接去w3c.org看。 简单来说,一个标准网站应该不是只能用Microsoft Internet Explorer才可以浏览的吧? 一.什么是网站标准   网站标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。这些标准大部分由W3C起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(European Computer Manufacturers Association)的ECMAScript标准。我们来简单了解一下这些标准: 1.结构标准语言   (1)XML   XML是The Extensible Markup Language(可扩展标识语言)的简写。目前推荐遵循的是W3C于2000年10月6日发布的XML1.0,参考(www.w3.org/TR/2000/REC-XML-20001006)。和HTML一样,XML同样来源于SGML,但XML是一种能定义其他语言的语。XML最初设计的目的是弥补HTML的不足,以强大的扩展性满足网络信息发布的需要,后来逐渐用于网络数据的转换和描述。关于XML的好处和技术规范细节这里就不多说了,网上有很多资料,也有很多书籍可以参考。   (2)XHTML   XHTML是The Extensible HyperText Markup Language可扩展标识语言的缩写。目前推荐遵循的是W3C于2000年1月26日推荐XML1.0(参考http://www.w3.org/TR/xhtml1)。XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的站点,直接采用XML还为时过早。因此,我们在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。简单的说,建立XHTML的目的就是实现HTML向XML的过渡。 2. 表现标准语言   CSS是Cascading Style Sheets层叠样式表的缩写。目前推荐遵循的是W3C于1998年5月12日推荐CSS2(参考http://www.w3.org/TR/CSS2/)。W3C创建CSS标准的目的是以CSS取代HTML表格式布局、帧和其他表现的语言。纯CSS布局与结构式XHTML相结合能帮助设计师分离外观与结构,使站点的访问及维护更加容易。   3.行为标准   (1)DOM   DOM是Document Object Model文档对象模型的缩写。根据W3C DOM规范(http://www.w3.org/DOM/),DOM是一种与浏览器,平台,语言的接口,使得你可以访问页面其他的标准组件。简单理解,DOM解决了Netscaped的Javascript和Microsoft的Jscript之间的冲突,给予web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对像。   (2) ECMAScript   ECMAScript是ECMA(European Computer Manufacturers Association)制定的标准脚本语言(JAVAScript)。目前推荐遵循的是ECMAScript 262(http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM)。 二、为什么要建立网站标准?   我们大部分人都有深刻体验,每当主流浏览器版本的升级,我们刚建立的网站就可能变得过时,我们就需要升级或者重新建造一遍网站。例如1996-1999年典型的"浏览器大战",为了兼容Netscape和IE,网站不得不为这两种浏览器写不同的代码。同样的,每当新的网络技术和交互设备的出现,我们也需要制作一个新版本来支持这种新技术或新设备,例如支持手机上网的WAP技术。类似的问题举不胜举:网站代码臃肿、繁杂浪费了我们大量的带宽;针对某种浏览器的DHTML特效,屏蔽了部分潜在的客户;不易用的代码,残障人士无法浏览网站等等。这是一种恶性循环,是一种巨大的浪费。   如何解决这些问题呢?有识之士早已开始思考,需要建立一种普遍认同的标准来结束这种无序和混乱。商业公司 (Netscape、Microsoft等)也终于认识到统一标准的好处,因此在W3C(W3C.org)的组织下,网站标准开始被建立(1998年2月 10日发布XML1.0为标志),并在网站标准组织(webstandards.org)的督促下推广执行。   简单说,网站标准的目的就是:   提供最多利益给最多的网站用户   确保任何网站文挡都能够长期有效   简化代码、降低建设成本   让网站更容易使用,能适应更多不同用户和更多网路设备   当浏览器版本更新,或者出现新的网络交互设备时,确保所有应用能够继续正确执行。   对于网站设计和开发人员来说,遵循网站标准就是使用标准;对于你的网站用户来说,网站标准就是最佳体验。 三、采用网站标准有什么好处和缺点?   1.好处   对网站浏览者的好处:   文件下载与页面显示速度更快;   内容能被更多的用户所访问(包括失明、视弱、色盲等残障人士);   内容能被更广泛的设备所访问(包括屏幕阅读机、手持设备、搜索机器人、打印机、电冰箱等等)   用户能够通过样式选择定制自己的表现界面   所有页面都能提供适于打印的版本   对网站所有者的好处:   更少的代码和组件,容易维护   带宽要求降低(代码更简洁),成本降低。举个例子:当 ESPN.com 使用 CSS改版后,每天节约超过两兆字节(terabytes)的带宽。   更容易被搜寻引擎搜索到   改版方便,不需要变动页面内容   提供打印版本而不需要复制内容   提高网站易用性。在美国,有严格的法律条款( Section 508 ) 来约束政府网站必须达到一定的易用性,其他国家也有类似的要求。   2.缺点   需要花费更多时间来学习标准   依然需要注意浏览器的兼容问题   用 CSS 来实现某些表现反而比表格更为麻烦 四.遵循标准的网站与传统网站的区别   传统网站只是印刷媒体的延伸,设计目标是保证在4-6个主流浏览器版本中看起来一致。通常的特征是:   以表格为基础的布局。   内容与表现方式混杂在一起。典型的例子是标签。   垃圾代码(非标准代码)。   不易用的代码。   语义不正确的代码。比如不解释的话,你根本不明白这是字体加粗的意思。   而采用网站标准建立的网站是一个能够接受各种用户和各种设备的广泛的交流沟通工具。一般特征是:   语义正确的标识。即使用能够表达含义的标签。保证代码可以在文本浏览器、PDAs、搜索引擎中被正确理解。   正确有效的代码。通过W3C代码校验(http://validator.w3.org/)的就是正确代码。对人、机都易用的代码。能够接受广泛的用户和设备的访问,用CSS分离表现层和内容。使代码更简洁、下载速度更快,批量修改和定制表现形式更容易。 关于本文档: /********************************************************************* *filename: 怎样的网站才是标准网站及使用Linux下IE浏览器 *purpose: 讨论标准网站问题,并展示了Linux下IE浏览器的使用方法 *wrote by: zhoulifa([email protected]) 周立发(http://zhoulifa.bokee.com) Linux爱好者 Linux知识传播者 SOHO族 开发者 最擅长C语言 *date time:2006-07-02 16:10:00 *Note: 任何人可以任意复制代码并运用这些文档,当然包括你的商业用途 * 但请遵循GPL *********************************************************************/ 五.无奈的感叹 当然,网站不标准在中国已经不是什么新鲜事。大家可以看http://www.showme99.com/yemian/18/40008.htm这个网站上对国内几个门户网站的检测结果,没有一个完全符合标准的。其它很多网站都不是标准的,尤其是那些只用asp的。 也难怪,反正国内盗版流行,都可以找到一个盗版的Windows来浏览那些asp网站。 试问有几个人花钱买了正版操作系统?如果哪一天国家法律明令规定所有PC出厂前不得安装任何操作系统,必须由用户自己付钱后才能安装,那又会怎样呢? 六.无奈之举-Linux下的IE浏览器使用方法 鉴于上述现象,各位Linux使用者必然遇到的一个问题是:在Linux下用mozilla或其它系列的浏览器打开某个asp网站时出现一些奇怪现象,要么某些部分不能显示,要么某些按钮不能按,要么某输入框不能输入…… 笔者也长久被这问题困扰,最近总算解决了难题,你必须安装如下几个软件: 1.wine wine是什么?按官方说法,是可以使Windows程序在Unix上运行起来的工具。简单说来就是Windows环境模拟器。 有了这个工具以后,你可以在Unix/Linux下运行一些Windows程序,小到Windows下记事本程序,大到大型游戏CS和办公套件Microsoft Office。只要做些设置,配置好相应的环境即可运行这些Windows下的程序。 安装方法嘛,如果是第1代Linux,就先找到wine安装包,然后用rpm -ivh wine*.rpm命令安装。 如果是第2代Linux,就直接输入apt-get install wine安装。 安装完成之后直接输入wine calc就可以运行Windows下的计算器了,wine wordpad就可以运行Windows下的写字板了,wine notepad就可以运行Windows下的记事本了。 当然,运行任何Windows程序前最好运行wine-cfg或wine-setup等命令来配置一下wine。 一些大型Windows下应用程序,比如iexplorer.exe(Microsoft的Internet Explorer),winword.exe(Microsoft的word文字处理器)是不能在默认wine环境下运行起来的,必须进行一些设置。 2.cabextract 这个工具是用来读取Microsoft下面cab格式的软件包的,为了能安装后面的IE软件,必须安装这个cabextract。 安装方法同上apt-get install cabextract即可。 3.ies4linux 看名字就知道了,Linux下面的IE,其实这个软件只是一个脚本,实际是用了wineserver的服务和Microsoft的iexplorer.exe程序。 google了好久,结果找到了这个网站 http://www.tatanka.com.br/ies4linux/index-en.html 从它上面下载开源的ie,下载地址: http://www.tatanka.com.br/ies4li ... nux-2.0beta5.tar.gz 解压这个软件包: tar -xzvf ies4linux-2.0beta5.tar.gz 然后就可以去ies4linux-2.0beta5目录里运行安装命令进行安装了。 安装过程会去download.microsoft.com下载一些软件包,比如: 249973USA8.exe  DCOM98.EXE  mfc40.cab  swflash.cab 这里的swflash.cab是IE的flash插件。 安装完成后就在当前用户主目录下产生一个.ies4linux目录和bin目录,bin目录下有ie6命令文件。记得把这些目录里的文件设置成所有用户可用或把owner设置成要运行ie6命令的那个用户。 然后就可以看到桌面上有个IE的图标了,直接双击运行吧,出来的就是Microsoft Windows下的Internet Explorer。慢慢享用吧 最后给大家看看我安装ie4linux后的桌面和运行进来的IE图片: screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://zhoulifa.bokee.com/inc/ubuntu-desktop-with-IE.jpg');}" onmousewheel="return imgzoom(this);"> screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://zhoulifa.bokee.com/inc/ubuntu-IE.png');}" onmousewheel="return imgzoom(this);">