利用Yahoo! UI库开发跨浏览器Web程序
发布时间:2006-05-18 14:49:11 来源:天极开发 网友评论 0 条 一、 简介
最近发行的Yahoo! UI库提供了跨浏览器DHTML和AJAX能力(你可以在良好的BSD许可下使用)。遗憾的是,其参考文档极少,语法冗长,且其提供的功能不够完整。
自从4.0浏览器发布以来,跨浏览器动态HTML库由于实践需要而得到增强。任何想使用最新和最伟大的HTML/Javascript功能而同时还想实现跨浏览器兼容性的开发者都有可能开发一种类似于库这样的软件来规范化各种争斗激烈且充满错误的各浏览器所提供的API。
总体来看,Yahoo为开发者提供了一套体面的库以解决通用的跨浏览器问题;但遗憾的是,其作出的努力在某些方面还不如其它一些可用的开源API(例如DynAPI)所达到的效果。你可以下载免费的Yahoo! UI(YUI)库进行试验。
二、 快速导航
在下载完YUI并解压相应的.zip文件后,你会发现解压后的文件创建了八个文件夹,每一个文件夹都有相似的结构。每个文件夹包含若干子文件夹,但是最值得我们感兴趣的有:
· build文件夹,其下的文件提供包含你需要使用的功能。
· example文件夹,它提供了这些功能的实际使用。
我不想再细及source目录-这些目录下包含一些.js文件,而且这些文件也以组合版本(combined versions)存在于build文件夹下。毫无疑问,这些文件是通过一个没有包含在该包中的工具创建的。
总体来看,YUI基本上是一个功能库-你可以通过一组匿名方法和类似于命名空间的语法进行存取。例如,如果你想设置页面中一个元素的X/Y位置,那么不是建立类似于SetLayerLoc('MyID',10,10)这样的代码,你只需要作如下的库调用即可:
YAHOO.util.Dom.setXY('MyID',new Array(10,10));
尽管YUI实现了这一目的,但是语法却相当冗长。
其文档中包含一些类似于Javadoc API参考的信息-它是从一些自动化工具自动生成的,其中没有进行细致的"清理"工作,而且在生成的类中也没有提供详细的帮助性说明。然而,YUI的确提供了一组完整的示例-其中牵涉到大多数常用函数-以一种合理的直接的方式,但是没有链接到生成文档的其它部分。
三、 DOM和事件库
YUI提供的与核心DOM和事件处理相关的能力出人意料地"坚固"并实现了既定功能,并且涉及到大范围的功能。最令人惊讶的是,这种API使得你能够实现简单的跨浏览器透明控制。大多数开发者甚至还不知道-YUI还)支持(经由DirectX调用在IE中实现半透明技术,尽管效果上尚不及其基于Mozilla的等价物,但是YUI已经支持存取绝大多数(如果不是全部)CSS属性。下面是一个例子:
YAHOO.util.Dom.setStyle('MyDivID','opacity',.5);
这么多精彩的功能居然在文档中提及很少。文档中暗示,你可以使用它们的JavaScript等价名字来设置所有元素的CSS风格属性,例如,通过编写backgroundColor而不是使用其CSS对应物background-color,但缺点是,它缺乏支持属性的一个完整列表。
当你注意到YUI提供了一种令人惊异的跨浏览器功能以支持透明功能之时,你可能想:或许该库也实现了跨浏览器支持以免用户不得不记忆每一种相应于非标准的CSS属性的CSS增强功能。但遗憾的是,情况并非如此。一旦进一步分析代码,你将会发现透明技术是YUI支持的唯一的CSS增强-所有其它的setStyle调用都被直接原封未动地"传递"到浏览器的DOM。
幸运的是,YUI提供的事件API比DOM API更为深入些并且包括了一些函数来实现大量的跨浏览器事件。它把API进一步规范化为基于更标准的addListener/removeListener函数。
总体来看,DOM和Event库已经实现了既定目标但是语法冗长;而相比之下,其它库仅用一半时间就可以完成类似功能。
最近发行的Yahoo! UI库提供了跨浏览器DHTML和AJAX能力(你可以在良好的BSD许可下使用)。遗憾的是,其参考文档极少,语法冗长,且其提供的功能不够完整。
自从4.0浏览器发布以来,跨浏览器动态HTML库由于实践需要而得到增强。任何想使用最新和最伟大的HTML/Javascript功能而同时还想实现跨浏览器兼容性的开发者都有可能开发一种类似于库这样的软件来规范化各种争斗激烈且充满错误的各浏览器所提供的API。
总体来看,Yahoo为开发者提供了一套体面的库以解决通用的跨浏览器问题;但遗憾的是,其作出的努力在某些方面还不如其它一些可用的开源API(例如DynAPI)所达到的效果。你可以下载免费的Yahoo! UI(YUI)库进行试验。
二、 快速导航
在下载完YUI并解压相应的.zip文件后,你会发现解压后的文件创建了八个文件夹,每一个文件夹都有相似的结构。每个文件夹包含若干子文件夹,但是最值得我们感兴趣的有:
· build文件夹,其下的文件提供包含你需要使用的功能。
· example文件夹,它提供了这些功能的实际使用。
我不想再细及source目录-这些目录下包含一些.js文件,而且这些文件也以组合版本(combined versions)存在于build文件夹下。毫无疑问,这些文件是通过一个没有包含在该包中的工具创建的。
总体来看,YUI基本上是一个功能库-你可以通过一组匿名方法和类似于命名空间的语法进行存取。例如,如果你想设置页面中一个元素的X/Y位置,那么不是建立类似于SetLayerLoc('MyID',10,10)这样的代码,你只需要作如下的库调用即可:
YAHOO.util.Dom.setXY('MyID',new Array(10,10));
尽管YUI实现了这一目的,但是语法却相当冗长。
其文档中包含一些类似于Javadoc API参考的信息-它是从一些自动化工具自动生成的,其中没有进行细致的"清理"工作,而且在生成的类中也没有提供详细的帮助性说明。然而,YUI的确提供了一组完整的示例-其中牵涉到大多数常用函数-以一种合理的直接的方式,但是没有链接到生成文档的其它部分。
三、 DOM和事件库
YUI提供的与核心DOM和事件处理相关的能力出人意料地"坚固"并实现了既定功能,并且涉及到大范围的功能。最令人惊讶的是,这种API使得你能够实现简单的跨浏览器透明控制。大多数开发者甚至还不知道-YUI还)支持(经由DirectX调用在IE中实现半透明技术,尽管效果上尚不及其基于Mozilla的等价物,但是YUI已经支持存取绝大多数(如果不是全部)CSS属性。下面是一个例子:
YAHOO.util.Dom.setStyle('MyDivID','opacity',.5);
这么多精彩的功能居然在文档中提及很少。文档中暗示,你可以使用它们的JavaScript等价名字来设置所有元素的CSS风格属性,例如,通过编写backgroundColor而不是使用其CSS对应物background-color,但缺点是,它缺乏支持属性的一个完整列表。
当你注意到YUI提供了一种令人惊异的跨浏览器功能以支持透明功能之时,你可能想:或许该库也实现了跨浏览器支持以免用户不得不记忆每一种相应于非标准的CSS属性的CSS增强功能。但遗憾的是,情况并非如此。一旦进一步分析代码,你将会发现透明技术是YUI支持的唯一的CSS增强-所有其它的setStyle调用都被直接原封未动地"传递"到浏览器的DOM。
幸运的是,YUI提供的事件API比DOM API更为深入些并且包括了一些函数来实现大量的跨浏览器事件。它把API进一步规范化为基于更标准的addListener/removeListener函数。
总体来看,DOM和Event库已经实现了既定目标但是语法冗长;而相比之下,其它库仅用一半时间就可以完成类似功能。
- 推荐阅讯
- 在Alexa Toolbar上显示你的logo
- 对比国内与国外seo/sem公司
- 网站策划5大趋势
- 中搜揭开第三代搜索引擎神秘面纱
- 动态网络Web 2.0将引发商业变革
- 创建优秀网页的6个好习惯
- 轻轻松松为自己建一个站内搜索引擎
- 细谈网页优化和网站优化的几种方式
- seo又分出了新类别-灰帽seo
- Google Adsense:作弊的境界
- 阅读排行
- 1.针对搜索引擎的页面优化一:关键词优化
- 2.网站的搜索引擎优化(SEO)九大秘法
- 3.ALEXA站长全攻略
- 4.一个网站的灵魂 打造完美网站的奇招巧技
- 5.让百度重新收录你的网站的有效方法
- 6.休闲一下:我用Google抓拉登的全过程
- 7.建站基础 将网页上传到服务器
- 8.Google Office轮廓愈加清晰 成形指日可待
- 9.10条优秀的网站设计经验
- 10.Google AdSense推收益分享新模式
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
