1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
创建Block.doc

创建Block 千一网络 译 本文翻译自 http://www.popfly.ms/ 因译者水平有限,加之时间仓促,书中难免有误,敬请批评指正。 2007-12-3 Version 1.8.1 创建Block 览 在本指南中你可以学到如何在Popfly中创建一个Block。推荐你使用不同于Popfly的开发环境创建你的Block,因为Popfly的JavaScript编辑器目前还缺少某些功能,比如语法高亮。(运行于 Popfly)。我们推荐 Microsoft Visual Web Developer 2005 Express,可以从/vstudio/express/vwd/免费下载。一个Block是一个包含于单一JavaScript文件(.js)的中间件,它驱动供用户代码调用的方法,一个Block也可以用于资源存储,诸如XAML文件,图像等等。一个Block可以作为外源服务,比如Web服务,或者它可以是一个简单的一个有用的程序库,比如:一个给定了半径计算圆面积的程序。一个Block也可以作为显示层:从其它的Block读取数据并以有意义的形式显示,用户可以与之交互。在本指南中我们将使用Soapbox (/) 作为我们创建一个Block的Web服务示例。 JavaScript 类布局 一个用户可能用决定将许多Block用于一个网页中,因此将你的 JavaScript 封装成一个对象并且不要使用全局函数是很重要的,使用 Silverlight 的事件钩子抛出的异常。你可以按你的需要定义任意多个类,但是有一点你的对象需要的函数 规则 1:创建类,而不是脚本每一个Block都需要有一个类定义,成员函数添加在这个类原型上。比如:function SoapBoxClass(){ //一些代码 } 上面的代码声明了一个SoapBoxClass函数,该函数可以像下面一样通过修改原型来进行扩展。 函数 你想暴露给用户的函数应该在类原型中定义;如:SoapBoxCtotype.search = function (parameter) { //一些代码 }; 以下是一个在全局名称空间中声明函数的示例,在 Popfly 里这样做是一件糟糕的事情。这是因为你无法控制哪些函数已经存在,同样地你的Block的行为也是不可预知的。function degtorad(deg){ return deg * (2 * Math.PI) / 360; } 和Popfly交互 因为Block是一个中间件,你应该在Popfly里面调用,并和用户交互。 从Web Server获取数据 许多控件都会从第三方获取数据,比如从一个网站。如果你从一个非Popfly域名的站点获取数据,浏览器安全沙盒将会提示用户权限或毫无提示地抛出一个异常。为了正常读取,Popfly提供两个方法来让控件从任何服务器上获取数据:getXml和getText。 getXML-XML数据 xmlObject = environment.GetXml(url) xmlObject是HTTP响应读取和解析后的XML文档。 url是HTTP请求的URL,格式如:/coding4fun/rss.aspx?Tags=c4fnews。 比如var url = /rss.aspx?searchTerm=+searchTerm; var resultXML = environment.getXml(url); getText-文本数据 text = environment.GetText(url) text是http响应的body。 url是HTTP请求的URL,格式如:/coding4fun/。 输出结果 结果可以以两种方式输出:返回一个对象,或以HTML的形式添加到输出页面。因为Popfly就是从多个数据源获取数据并结合成“mashup”,所以我们更希望你写的所有函数都返回一个对象。显示信息的Block不适用本建议要求。 返回对象 如果你想返回一个对象,就需要类定义,除非返回的是JavaScript内置对象,比如一个数组。要为每一个Block声明公共属性,你可以使用this关键词动态地创建,就像下面说明的: function SoapBoxVideo(title, link, pubDate, description, category, playURL, streamingURL, copyright, thumbnailURL, credits, toStringHTML) { this.Title = title; this.Link = link; this.DatePublished = pubDate; this.Description = description; this

文档评论(0)

seym + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档