﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>PHP博客-为了忘却的纪念-随笔分类-js</title><link>http://www.phpweblog.net/fuyongjie/category/504.html</link><description>言己及众</description><language>zh-cn</language><lastBuildDate>Thu, 29 May 2008 06:15:09 GMT</lastBuildDate><pubDate>Thu, 29 May 2008 06:15:09 GMT</pubDate><ttl>60</ttl><item><title>[Ext研究之一]Ext与JQuery的初步整合</title><link>http://www.phpweblog.net/fuyongjie/archive/2008/05/28/3955.html</link><dc:creator>bestmost</dc:creator><author>bestmost</author><pubDate>Wed, 28 May 2008 08:07:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/archive/2008/05/28/3955.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/3955.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/archive/2008/05/28/3955.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/3955.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/3955.html</trackback:ping><description><![CDATA[看到Ext渲染出来的用户交互界面效果，令我口水流了一地。。。。。。<br /><br />于是，决定抽时间对Ext进行系统一点的研究，看是否能够应用到日常的生产实践中去。<br /><br />研究决定分三步走：<br />第一步，Ext与JQuery的整合。由于Ext与JQuery的整合没有找到任何的相关说明文字，全靠自己去摸索。<br />第二步，Ext各个功能组件的熟悉及测试。这一步主要是熟悉各个功能组件的使用方法、特点及用途。<br />第三步，Ext与FleaPHP的整合。走完这一步，与真正的应用其实已经不远了。<br /><br /><strong>1、下载文件</strong><br /><br />首先，打开Ext的下载页面<a href="http://www.extjs.com/download" target="_blank">http://www.extjs.com/download</a>，如下图所示，点击窗口底部的【Downlaod Ext 1.0.1a】按钮下载1.0.1a版的Ext资源包。zip压缩包里面的API文档及演示案例都是今后的第一手研究资料，而且里面的一些JS库文件、资源文件在进行案例研究，以及今后进行应用开发时都要用到。<br /><br /><br /><br />点击上图的红线部分，在出现下面的页面后，点选JQuery，然后单击【Next】按钮。<br /><br /><br /><br />在新的页面里找到如图所示的“Check All”选择框，并打勾，选择生成全部功能的组件库文件。当然了，为了减少最后生成的JS文件的体积，你也可以把一些不需要的组件去掉。如果想取消某个组件，将该组件前面选择框的勾去掉即可。<br /><br /><br /><br />最后点击窗口底部的【Build It】按钮，生成ext.js文件（已进行空间压缩）。**我保存的文件名改为ext-all-jquery.js<br /><br />其次，打开“Tutorial: Getting Started with Forms”教程页面，下载测试实例（如下图所示，点击红线部分）。<br /><br /><br /><br /><strong>2、创建测试目录</strong><br /><br />在网站的根目录下创建一个测试主目录及一些相关的子目录，并把相关的文件拷贝到相应目录下。<br /><br /><br /><br />如上图所示，我在Web服务器的根目录下创建了一个ext主目录；一个forms子目录，用来保存测试实例文件；一个libs子目录，用来保存Ext的 JS库文件和资源文件。这些文件都是先前所下载或生成的，把它复制过来就是了。我建立libs子目里的目的，是为了方便将来进行移植。<br /><br />由于测试实例的文件名太长了，为了方便测试，我不得不将它们进行缩短。 
<div class="quote"><h5>引用:</h5><blockquote>forms-getting-started.js =&gt; forms.js<br />forms-getting-started-process.php =&gt; forms-process.php<br />forms-getting-started-working.php =&gt; forms-working.php</blockquote></div><strong>3、运行测试实例</strong><br /><br />由于Ext的库文件的位置和测试文件名已发生变动，因此必须对forms-working.php文件进行编辑 
<div class="quote"><h5>引用:</h5><blockquote>&lt;link rel="stylesheet" href="/lib/resources/css/ext-all.css" /&gt;<br />&lt;script src="/lib/adapter/yui/yui-utilities.js"&gt;&lt;/script&gt;<br />&lt;script src="/lib/adapter/yui/ext-yui-adapter.js"&gt;&lt;/script&gt;<br />&lt;script src="/lib/ext-all-debug.js"&gt;&lt;/script&gt;<br />&lt;script src="forms-getting-started.js"&gt;&lt;/script&gt;</blockquote></div>修改为： 
<div class="quote"><h5>引用:</h5><blockquote>&lt;link rel="stylesheet" href="../libs/Ext/resources/css/ext-all.css" /&gt;<br />&lt;script src="../libs/Ext/adapter/yui/yui-utilities.js"&gt;&lt;/script&gt;<br />&lt;script src="../libs/Ext/adapter/yui/ext-yui-adapter.js"&gt;&lt;/script&gt;<br />&lt;script src="../libs/Ext/ext-all-debug.js"&gt;&lt;/script&gt;<br />&lt;script src="forms.js"&gt;&lt;/script&gt;</blockquote></div>打开浏览器，在地址栏里输入：<a href="http://127.0.0.1/ext/forms/forms-working.php" target="_blank">http://127.0.0.1/ext/forms/forms-working.php</a>，回车确认。<br /><br />如果出现以下的页面，则测试实例已初步运行成功。<br /><br /><br /><br /><strong>4、Ext与JQuery的初步整合</strong><br /><br />由于没有找到任何Ext与JQuery整合的相关资料，完全得靠自己摸索，因此浪费费了我相当多的时间。我是花了整整一个晚上才悟出这么一点道道。<br /><br />修改forms-working.php文件&lt;head&gt;&lt;/head&gt;里的引用文件： 
<div class="quote"><h5>引用:</h5><blockquote>&lt;script src="../libs/Ext/adapter/yui/yui-utilities.js"&gt;&lt;/script&gt;<br />&lt;script src="../libs/Ext/adapter/yui/ext-yui-adapter.js"&gt;&lt;/script&gt;<br />&lt;script src="../libs/Ext/ext-all-debug.js"&gt;&lt;/script&gt;</blockquote></div>改为： 
<div class="quote"><h5>引用:</h5><blockquote>&lt;script src="../libs/Ext/adapter/jquery/jquery.js"&gt;&lt;/script&gt;<br />&lt;script src="../libs/Ext/adapter/jquery/jquery-plugins.js"&gt;&lt;/script&gt;<br />&lt;script src="../libs/Ext/adapter/jquery/ext-jquery-adapter.js"&gt;&lt;/script&gt;<br />&lt;script src="../libs/Ext/ext-all-jquery.js"&gt;&lt;/script&gt;</blockquote></div>文件说明：<br />jquery.js JQuery框架文件<br />jquery-plugins.js 没有找到相关说明，查看源代码，似乎是做一些初始化的工作。<br />ext-jquery-adapter.js 估计与SmartyHelper.php文件的作用差不多，即是Ext与JQuery的接口。<br /><br />最后，刷新先前的浏览器测试页面，一切OK，说明Ext与JQuery的整合初步告捷。<br /><br />在这里，需要特别指出，由于jquery.js、jquery-plugins.js、ext-jquery-adapter.js、ext-all- jquery.js这四个js文件有严格的依赖关系，缺一不可。同时，它们的引用顺序必须按照上面的次序进行，不能打乱，否则运行测试实例时将出错。<br /><br /><strong>5、整合后的兼容性测试</strong><br /><br />修改后的测试实例，在Firefox 2.0里测试没有任何问题，包括转到IE核下测试。但在IE 6下测试时，出现下面的错误，却又不影响测试。原因待查。。。。。。<br /><br /><br /><br />另外，在gb2312字符集下使用也不太好，显示出来的用户界面有些少问题。如下图所示：<br /><br /><br /><br /><strong>6、结束语</strong><br /><br />JQuery与yui-Ext整合测试的初步成功，只是万里长征迈出的一小步，离真正的实际应用还差十万八千里，是否能到达成功的彼岸，感觉非常考验自己的毅力及技术水平。因为资料的缺乏，小小的整合测试就已经花费了相当多的时间，以后的研究，实在不敢想象。<img src ="http://www.phpweblog.net/fuyongjie/aggbug/3955.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">bestmost</a> 2008-05-28 16:07 <a href="http://www.phpweblog.net/fuyongjie/archive/2008/05/28/3955.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>