- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 高中物理讲义.pdf VIP
- 福禄克Fluke MDA-510 和 MDA-550 电机驱动分析仪MDA-550 MDA-510 安全须知.pdf
- 2023-2024学年七年级上期期中语文试题(含答案) .pdf VIP
- 精品在线课程汇报定稿.ppt
- 爱祖国爱家乡爱母校.pptx VIP
- 秋天的快乐PowerPoint演示文稿.pptx
- 25题技术架构师岗位常见面试问题含HR问题考察点及参考回答.pdf VIP
- 浙江省湖州市2023-2024学年高一上学期期末考试语文试题 Word版含解析.docx
- 企业性质(科斯).doc VIP
- 2023年软考初级信息系统运行管理员历年经典真题及解析part.docx
文档评论(0)