YouYee Widget开发计划提出

早在YouYee Player Standalone开发的时候,YouYee Widget的概念就成型了,当时是打算针对传统的Blog制作一些具备小功能的应用,能够让用户方便地通过嵌入Flash的方式来为他们的页面添加一些小功能。然而仅仅这样做还是完全不足的,用户缺少管理和对这些应用的控制能力。而这些应用本身又不能达到统一,因为要实现能被方便控制的功能不是仅仅对Flash应用自身开发就能解决的,必须配合Ajax才能实现比较完美的功能。

YouYee Writing是基于传统的Blog系统与Flash Blog系统的中间产物,为了让其在具备一定的拓展能力,专门针对Writing写了一个拓展管理器,用来把拓展的页面和功能加入到导航栏,并且通过Ajax来动态读取他们。但是仅仅的能够控制导航栏的项目是不够的,更本不能算得上是拓展。

之前就已经开发出类似Widget功能,为了能够让Widget更好的解决前面提到的功能,YouYee Writing集成了Widget运行环境YWRE(YouYee Widget Runtime Environment)这个运行环境是由JavaScript编写的,能够提供Widget的拖动,定位,属性更改,显示,隐藏以及加载等功能。通过这个运行环境,无论你的Flash是什么,这些功能都是能被使用的而且做到了支持IE,Firefox以及Safari(Safari对Flash的支持比较差,所以屏蔽掉了拖动功能)。

事实上,已经有部分的Widget被开发出来了,一个是用于天气的:YouYee Weather,一个是用于显示Mood日志的:YouYee Mood Widget,由于目前还未提供对这两个Widget下载,所以如果有用户需要可以自行联系我。即便不是YouYee OpenSource开发的Flash内容一样能够被使用,而且完全能够实现上述的功能,只是在Flash内容需要拖拽操作的时候会出现一些问题。如果仅仅是简单的动画那么不会有任何问题。当你进入你的页面的时候按下F12就能启动你的Widget功能(如果存在的话)。

谁是Widget的开发人?你!Widget的开发可以很深奥也可以很简单,只要您会开发Flash,那么哪怕是小小的动画也能当成Widget使用。而且YouYee OpenSource将会在不远的将来提供Widget下载服务,任何人都能申请吧自己的Widget放在YouYee OpenSource提供下载的地方,并且标注上您的版权信息。

YWRE有哪些接口呢?如何实现?首先看下面的属性列表:

position: 指定定位的方式有绝对定位和相对定位以及固定(IE6不支持固定定位),有absolute, fixed, relative三个参数选择

left:整数值,离左边框的位置

top:整数值,离上边框的位置

right:整数值,离右边框的位置

bottom:整数值,离下边框的位置

wmode:选择Flash是否透明,这点在需要在Firefox环境下输入中文支持是十分重要的,参数为:window, opaque, transparent

dragEnable:确定是否被拖拽(0表示不拖拽,1表示拖拽)

width:整数值,指定Flash的宽度

height:整数值,指定Flash的高度

函数方面有:

showWidget():显示所有的Widget

hideWidget(): 隐藏所有的Widget

enableDrag(id):启用拖动功能

disableDrag(id):关闭拖动功能

函数功能可以通过Flash的ExternelInterface.call("方法","参数")来调用。

position=fixed&left=0&top=130&width=250&height=350&service=YouyeeServ.getMoodList

当你需要添加一个Widget的时候只需要打开Manager,在extension name输入一个Widget ID(必须为连续的英文字母,请保证这个ID的唯一性),在url里面输入SWF文件的地址。

然后把上面的代码插入到description即可。上面那句话的意思是:固定定位,距左边框为0,上边框为130像素,宽度为250像素,高度为350像素,后面的参数是直接传给SWF文件的。每个属性之间利用符号"&"来分隔开。

您还可以自定义您的传入参数,这些参数不会干扰YWRE,并且会被顺利地传到Widget里面。

//下面的代码交你如何接受到上面提到的service参数

public function getRequest(var_id:String):String

{

var return_str:String = "";

if(this.loaderInfo.parameters[var_id] != null){

return_str = this.loaderInfo.parameters[var_id];

}

return return_str;

}

getRequest("service");

关于Widget的介绍就到这里,大家可以通过访问这个网址来观看Widget的运行效果: http://www.youyee.org/viewpoint/index.html

进入后当左上角显示出按下F12启用Widget这个提示时直接按下F12就能打开Widget功能。

loading...