九月 3, 2007 at 6:21 · Filed under 应用
在dreamweaver cs3中的spry是pre 1.4版本的,现在的最新版本是 spry pre 1.5版本.需要替换安装目录的spry库文件,目录是:ProgramFiles\Adobe\Adobe Dreamweaver CS3\configuration\Shared\Spry\
在更新前一定要备份要替换的文件目录,以防万一。
另外在升级后,就不能在使用1.4版本的写法了,要使用1.5的用法,不然会出现意想不到的问题。
需要替换的文件如下:
Configuration/Shared/Spry/Data/SpryData.js
Configuration/Shared/Spry/Data/SpryXML.js
Configuration/Shared/Spry/Data/xpath.js
Configuration/Shared/Spry/Effects/SpryEffects.js
Configuration/Shared/Spry/Widgets/Accordion/SpryAccordion.css
Configuration/Shared/Spry/Widgets/Accordion/SpryAccordion.js
Configuration/Shared/Spry/Widgets/CollapsiblePanel/SpryCollapsiblePanel.css
Configuration/Shared/Spry/Widgets/CollapsiblePanel/SpryCollapsiblePanel.js
Configuration/Shared/Spry/Widgets/MenuBar/SpryMenuBar.js
Configuration/Shared/Spry/Widgets/MenuBar/SpryMenuBarHorizontal.css
Configuration/Shared/Spry/Widgets/MenuBar/SpryMenuBarVertical.css
Configuration/Shared/Spry/Widgets/TabbedPanels/SpryTabbedPanels.css
Configuration/Shared/Spry/Widgets/TabbedPanels/SpryTabbedPanels.js
Configuration/Shared/Spry/Widgets/ValidationCheckbox/SpryValidationCheckbox.css
Configuration/Shared/Spry/Widgets/ValidationCheckbox/SpryValidationCheckbox.js
Configuration/Shared/Spry/Widgets/ValidationSelect/SpryValidationSelect.css
Configuration/Shared/Spry/Widgets/ValidationSelect/SpryValidationSelect.js
Configuration/Shared/Spry/Widgets/ValidationTextarea/SpryValidationTextarea.css
Configuration/Shared/Spry/Widgets/ValidationTextarea/SpryValidationTextarea.js
Configuration/Shared/Spry/Widgets/ValidationTextField/SpryValidationTextField.css
Configuration/Shared/Spry/Widgets/ValidationTextField/SpryValidationTextField.js
这些文件在spry pre 1.5 zip包中的位置是:
includes/SpryData.js
includes/SpryXML.js
includes/xpath.js
widgets/accordion/SpryAccordion.css
widgets/accordion/SpryAccordion.js
widgets/checkboxvalidation/SpryValidationCheckbox.css
widgets/checkboxvalidation/SpryValidationCheckbox.js
widgets/collapsiblepanel/SpryCollapsiblePanel.css
widgets/collapsiblepanel/SpryCollapsiblePanel.js
widgets/menubar/SpryMenuBar.js
widgets/menubar/SpryMenuBarHorizontal.css
widgets/menubar/SpryMenuBarVertical.css
widgets/selectvalidation/SpryValidationSelect.css
widgets/selectvalidation/SpryValidationSelect.js
widgets/tabbedpanels/SpryTabbedPanels.css
widgets/tabbedpanels/SpryTabbedPanels.js
widgets/textareavalidation/SpryValidationTextarea.css
widgets/textareavalidation/SpryValidationTextarea.js
widgets/textfieldvalidation/SpryValidationTextField.css
widgets/textfieldvalidation/SpryValidationTextField.js
在CS3中还有以下文件:
“DesignTime”:
EditingUtils.js
WidgetBase.js
WidgetManager.js
这些不涉及spry的版本升级,不用更新。
补充:网友stfei(阿飞)提供的一个dwcs3 mxp 扩展,可以直接安装升级到 pre 1.5 链接如下:http://cid-defb208c1e143d6f.skydrive.live.com/self.aspx/Stfei/spry_1.5%20for%20DWCS3.mxp
八月 22, 2007 at 3:05 · Filed under 应用
代码如下:
-
<script type=“text/javascript” src=“includes/xpath.js”></script>
-
<script type=“text/javascript” src=“includes/SpryData.js”></script>
-
<script type=“text/javascript” src=“includes/SpryNestedXMLDataSet.js”></script>
-
<script type=“text/javascript”> <!– var querry=encodeURIComponent("北京 2008"); var yuiurl ="ysearch_proxy.php?query="+querry+"&results=10"; var dsYsearch = new Spry.Data.XMLDataSet(yuiurl, "ResultSet/Result"); var dsYsearchinfo = new Spry.Data.NestedXMLDataSet(dsYsearch, "Cache"); –></script>
-
-
<style type=“text/css”> <!– body {margin:5px;padding:0;background:#fff;text-align:left;color:#000;font-size:12px;font-family:Arial;} h1, h2, h3, h4, h5, h6, form, div, p, i, img, ul, li, ol, table, tr, td, fieldset, label, legend { margin:0;padding:0;} li{list-style:none;} a img{border:none;} a{text-decoration:underline;color:#0353CE;} .datatb th{font-weight:normal;font-size:14px;padding:5px;} .datatb td{padding:5px;} .sum{color:#000;line-height:19px;} em{font-style:normal;color:#3C8B1D;} .urlinfo{width:150px;word-wrap:break-word;word-break:break-all;overflow:hidden;} .evenClass{ background-color:#F4F4F4;} .hoverClass{background-color:#E0ECFF;} –></style><noscript></noscript>
-
<table width=“100%” cellSpacing=“0″ class=“datatb”>
-
<tr spry:repeat=“dsYsearch” spry:even=“evenClass” spry:hover=“hoverClass”>
-
<th><a target=“_blank” href=“{ClickUrl}”>{Title}
</a></th>
-
<td class=“sum”>{Summary}
</td>
-
-
<p class=“urlinfo”><em>{DisplayUrl}
</em></p>
-
<a target=“_blank” href=“{dsYsearchinfo::Url}”>快照
</a></td>
-
</tr>
-
</table>
线上样例 下载源码
七月 24, 2007 at 1:31 · Filed under News

开源的Javascript开发工具aptana 加入了对Spry框架的嵌入支持。
下载aptana
七月 13, 2007 at 2:45 · Filed under 应用
昨天收到一个网友的来信问到一个很实用的问题:
“在新的spry1.5中增加了对表单提交的处理,SpryUtils.js,
按照官方示例的方法添加表单onsubmit的代码后,发现用Form Text Field的文本框没有认证就直接提交了.
有没有使两者的功能都正常使用的方法?”
由于表单验证强占了onsubmit,然而无刷新提交又要使用onsubmit提交处理,所以导致提交不校验。解决方式如下:
基于Submit forms with XHR的样例,修改。
-
<link rel=“stylesheet” type=“text/css” href=“../../widgets/textfieldvalidation/SpryValidationTextField.css” />
-
<script type=“text/javascript” src=“../../widgets/textfieldvalidation/SpryValidationTextField.js”></script>
-
<script type=“text/javascript” src=“../../includes/xpath.js”></script>
-
<script type=“text/javascript” src=“../../includes/SpryData.js”></script>
-
<script type=“text/javascript” src=“../../includes/SpryUtils.js”></script>
-
function updateResponseDiv(req)
-
{
-
Spry.Utils.setInnerHTML(‘response_form1′, req.xhRequest.responseText);
-
}
-
function myCombineChk(formobj){
-
var number3 = new Spry.Widget.ValidationTextField(“textfield”, “integer”);
-
var chk = Spry.Widget.Form.validate(formobj);
-
if(chk){
-
Spry.Utils.submitForm(formobj, updateResponseDiv);
-
};
-
return false;
-
};
-
<form method=“post” action=“SubmitChecker.php” onsubmit=“return myCombineChk(this)” name=“form1″ id=“form1″><input name=“textfield” id=“textfield” /><button type=“submit”>提交
</button></form>
七月 10, 2007 at 10:26 · Filed under News
今天Adobe Creative Suite3 中文版在北京电影学院礼堂举办了隆重的发布会。展示了CS3套装的强大功能。
令人激动的是Spry框架被集成进了DreamWeaverCS3中,这使Javascript FrameWork正式集成进了web开发IDE中,着实令人兴奋。
下面是几张相关图片:

集成了Spry的DreamWeaverCS3:

之后会有在DWcs3中使用Spry的实例。
七月 6, 2007 at 3:14 · Filed under News
Spry 在5月发布了 Spry PreRelease 1.5 版本,增加了许多新功能,并修改了一些原有代码使其更健壮。下面是此版本基于1.4版本的更改。
- Data
- 将$()更名为Spry.$()以避免在和其它框架结合的时候与其$()函数冲突。以前的用户可以在SpryData.js的最后一行增加”var $ = Spry.$;”
- 修正了 findRowsWithColumnValues()在没有符合要求的数据行并且firstMatchOnly定义时返回一个空数组而不是null的BUG
- 增加了会话过期挂钩以便在数据加载时允许开发人员获得会话过期服务器消息并正确的处理返回消息。
- 增加了SpryUtils.js文件,包含了Spry.Utils.submitForm函数允许开发人员通过XMLHTTPRequest对象发送表单数据。
- 给DataSet.distinct() 增加了一组字段。数据集构造函数有一个新的参数distinctFieldsOnLoad。
- 增加了HTMLDataSet的支持,使用一个单独的文件SpryHTMLDataSet.js,但是SpryData.js还是必须的。
- 增加了SpryPagedView类使分页更方便。
- 增加了Spry.Data.DataSet.prototype.setDataFromArray()使得从数组初始化数据更简单。
- 增加了Spry.Data.DataSet.prototype.loadData()缺少的onPostLoad通知。
- 修改了createXMLHttpRequest()以使其先使用XMLHttpRequest 对象的ActiveX版本,以便开发人员可以在IE7的本地调试的时候加载file:// 。
- 修改了processTokens()和processTokenChildren()以便他们可以使用一个输出数组收集生成的字符串。这在IE6中可以提高35%的转换过程的性能。
- 列类型:
- 增加了在数据集中的数据加载后调用的函数Spry.Data.DataSet.prototype.applyColumnTypes()。它将每行的数据转换为对应行的数据类型。
- 增加了一个 “html”列类型,它将自动将数据解码为HTML
- setColumnType()将一个列名字符串或一个列名字符串组成的数组作为第一个参数。
- 增加了 SpryDataExtensions.js 包含了一些开发人员需要的一些高级功能。
- 修改了排序功能针对可能的未定义值。这允许我们处理子节点不一定存在的XML格式数据。
- XMLDataSet
- 修改了XMLDataSet以便其可以手动转换浏览器未自动创建DOM的XML字符串。这允许我们加载服务器返回的类型不是’text/xml’ 或 ‘application/xml’的XML数据。
- 增加了通过 “subPaths”参数对扁平化数据过程的控制。
- 增加了对Spry.Data.NestedXMLDataSet的支持。
- 删除了防止通过XPath选择的无数据和属性的节点生成行的限制。
- 增加了 Spry.Data.JSONDataSet 和 Spry.Data.NestedJSONDataSet.
- 增加了从URL和哈希组件中提取参数值的工具。
- 修改了setURL()当URL和当前URL相同时,它将在请求数据前考虑函数和任何请求数据。
- 修正了Spry.Utils.loadURL()以便当其调用errorCallback() 如果存在,一个例外将被抛出。这允许我们在使同步加载的时候通知监听器。
- 修改了Spry.Utils.updateContent() 使其默认异步”GET” 请求。开发人员可以将其改为”POST” 或同步请求:在updateContent()中设置 “POST”或async:false 参数
- Effects
- 修正了一个串连接BUG导致链上的每个效果在当前效果执行的时候触发他们的 animation()。
- 将AppearFade重命名为Fade,将GrowShrink重命名为Grow。
- Fade, Grow, Slide, Shake, Squish, Highligh, Blind特效都被由简单函数转换为类。这将允许你通过new调用特效。
- 新建的类都是Cluster类的扩展。这意味着他们可以将他们自己放在效果串上。他们可以被开始,取消,停止。
- 特效不再在实例化后自动开始,在实例化后你需要调用 start()函数来启动特效。
- Effect.direction默认为false(以前是Spry.forward)
- 当toggle参数打开的时候 start() 在反向运行时自动运行。
- 注册到一个特效串的特效以其注册的顺序相反的顺序运行,如果你注册了一个 Move() 然后是Size() ,那么Size() 先运行。
- 为了兼容性需要以前的版本增加了一些Do* 包装器 (DoBlind, DoFade, DoSquish …)。他们是为了在移植时保留最基本的功能。
- 所有的特效(Animators and Clusters) 都支持通知。你可以对特效注册侦听器,在 onPreEffect, onStep, onPostEffect, onCancel自动执行。
- 滑动特效被删除。他被转换到slide效果串中。
- 尺寸变换特效有一个新的参数useCSSBox默认为false。当调整一个元素的尺寸的时候同时按宽高的比例调整margin, padding, border的尺寸。其它的特效也有这个设置 (Squish, Slide, Blind, Grow …)
- 注册类改变了API和功能。为了兼容性保留了Do* 包装器,但将来可能会去除。
- 如果一个容器的offset和尺寸在CSS样式表中定义了,在FF,Opera,Safari中将会计算错误。
- Puff, Pulsate, DropOut, Fold可以用在大多数特效的参数。例如:duration, from, to, toggle。
- Shake特效的可以定义过程时间duration。
- 在Firefox中亮特效不再需要from:参数。
- 高亮特效的 from:和 to:的色值支持#CCC 的缩写格式和 rgb格式如 rgb(208, 205, 125)
- Spry.Effect.getColor() 重命名为 Spry.Effect.getBgColor()
- 增加了6个新的变换机制获得更平滑的特效。
- FPS (每秒帧数) 是一个新的参数,针对所有特效。
- 改变了每个特效的默认变换方式,以获得更平滑的效果。
- 默认的FPS大约为60FPS
- Widgets
- Accordion 折叠菜单
- 修正了在页面加载时useFixedHeightPanels和fixedPanelHeight被忽略的bug。这导致某些情况下默认的面板的尺寸错误。
- 更新了动画代码以更平滑并增加了对变换效果的支持。
- 增加了支持关闭所有不定高面板的模式。
- 修改了所有的事件处理函数返回false并在需要时preventDefault。这可以使用连接作为类似键盘导航的功能。
- CollapsiblePanel 折叠面板
- 修改了默认的CSS,.CollapsiblePanel增加了上、底边的边框以避免在面板关闭的时候IE的背景边框缺失的bug。
- 更新了动画代码以更平滑并增加了对变换效果的支持。
- TabbedPanels 舌签面板
- 修改默认CSS,.TabbedPanels 样式将元件容器左浮动确保其子元素完全包含在容器中。这将同页面其它浮动元素冲突或导致不可预料操作的情况减到最小。
- Textarea Validation Widget 文字区域校验
- Textfield Validation Widget 文本框校验元件
- 在URL校验中增加了IDN(国际域名)的支持
- URI校验符合 RFC 3986标准
- 使用Tab键将焦点从文本框离开时,错误地将焦点转到 <form>元素
- 新元件
- Auto Suggest Widget 自动提示元件
- Collapsible Panel Group Widget 可折叠面板组元件
- Radio Validation Widget 单选框校验元件
- Sliding Panels Widget 滑动面板元件
- Docs
- 增加了HTML数据集概要。
- 增加了JSON 初级。
- 增加了JSON 数据集概览。
- 增加了XML 初级。
- 增加了菜单栏概览。
- 增加了Spry API。
- 增加了特效合并文档。
- 增加了校验文档。
- 增加了滑动面板概览。
- 增加了Spry 分页器概览。
- 将特效API移动到Spry API中。
- 将特效概览合并到特效编程 文档中并更新了新的特效。
- 将TabbedPanel 更改为 TabbedPanels
- 增加了Docs.html 连接到这些所有的文章。
- Demos
- Effects
- JS代码从HTML文件中移出。
- Fade&Blind 和 Fade&Slide 变换方式已经被转换成真正的特效类,方便使用现有的特效或创建自己的特效。
- 增加了侦听器。onPreEffect将取消正在运行的特效,onCancel将元素重置为普通状态,onPostEffect是元件将运行一个二次触发准备一个新的特效。
- 包含了Puff, DropOut, Pulsate, Fold
- Gallery
- 编辑了 SetMainImage()在动画完成后删除图片上的透明度相关的样式属性。这将强制IE从新绘制图片以消除图片在动画改变透明度产生的白点。
- Products
- 将dsProductFeatures数据集改为NestedXMLDataSet数据集以不依赖于一个模板 XPath。
- Samples
- 增加了CustomColumnsSample.html.
- 增加了HTMLFragsInXMLSample.html.
- 增加了SpryPagedViewSample.html.
- 增加了XMLDocToObject.html.
- 增加了HTMLDataSet samples.
- 增加了水平方向的 slider sample.
- 增加了Session Handling 样例。
- 增加了不同语言的表单提交样例:Coldfusion, PHP, ASP.
- 增加了JSON Data Set Sample.
- 增加了JSON Parser Sample.
- 增加了Nested XML Data Sample.
- 增加了Collapsible Panel Group Sample.
- 增加了URL Utilities Sample.
- 增加了URL with Data Sample.
- 修正了一些样例以解决W3C校验问题。
- 升级了使用新函数的特效样例。
- 在 Sort sample 增加了 spry:sort。
- 增加了 XPath filtering with URL Params的样例。
- 增加了在数据集之间共享数据的样例.
- 增加了Multiple Filters Sample.
- 修改了 Detail Region Effects 样例,以便其在用户快速点击项目时动画效果更平滑。
- 修改了 数据集样例 以使用 setDataFromArray().
- 增加了loadURL() 样例。
- 增加了Sliding Panels, Sliding Panels 2 Pane Layout, Sliding Panels from Data样例。
七月 4, 2007 at 3:20 · Filed under News
Adobe Spry Ajax framework 中国站是一个交流Adobe Spry 框架的平台,提供Adobe Spry 的相关信息,交流使用经验。欢迎有兴趣的web开发设计人员在此交流。
