经典论坛's Archiver

lenyes 发表于 2008-7-3 11:11

做google gadget的一点小经验,与大家分享下

首先简介一下google gadget,其实很简单的。
gadget其实就是小工具,google为我们提供一个平台和一些基本的语法来开发自己的小工具,就像vista的桌面小工具一样,只不过我做的这个是在网页上运行的,做完后可以放到自己的博客网页里,很有意思,因为这个小工具里加载了一个纯flash文件,才决定写在这里,这也是在网上发布flash的另一个途径。。
[b]要开发先做以下几步:[/b]
1.        google登录(不登录则无法对我们开发的.xml文件进行在线存取.切记!)
2.        链接地址:[url]http://code.google.com/apis/gadgets/docs/legacy/gs.html#GGE[/url]对代码进行编辑
3.        编辑好后保存文件,若没有错误,点击file—publish后进行发布,
点击publish后,网页将弹出对话框,内容为:
a)        添加到我的igoogle首页里;
b)        添加到igoogle的gadget小工具目录中(注意:在目录中我们可以找到更多的gadget,但是要通过google内部人员的审核才可真正发布到目录中,需要waiting。。。)
c)        添加到我们自己的网页中(google会生成一段html代码,复制代码粘帖至我们的网页即可,呵呵)

[b]gadget代码简要介绍:[/b]
<?xml version="1.0" encoding="UTF-8" ?> //文档以.xml文本开发
<Module>
<ModulePrefs……>//作者和该小工具的详细信息
<Require feature="flash" />//我们要加载flash类型的文件,就必须有这句
<UserPref  >……</UserPref>//若用户希望改变小工具的某些属性,请使用这个标记,填写相应的属性并定义变量,就可将变量传入主体内容,从而实现变化
<Content type="html">//功能内容实现是html语言
<![CDATA[
Html语言(我们的开发主体部分,用Javascript写功能,用css来布局,和网页开发一样)
  ]]>
</Content>
</Module>

我的代码:(小工具里只需加载一个做好的flash)
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="map" height="250" width="300"  directory_title="map" author="rising" author_affiliation="rav"  author_email="lenyes@yahoo.cn"   description="show virus level" author_location="china" screenshot="http://193.168.20.77:8051/map/mmm.png"   thumbnail="http://193.168.20.77:8051/map/mini.png"  >
//文件头信息,分别包括:文件标题名,高,宽,目录标题名,作者,作者隶属单位,作者邮箱,作者所在地区,小工具描述,实际大小截图(为发布在自己的igoogle中),120×60截图(为发布在gadget小工具目录中)
<Require feature="flash" />
</ModulePrefs>
<UserPref name="color" datatype="enum" default_value="white" display_name="Background" >
  <EnumValue value="blue"/>
  <EnumValue value="green"/>
  <EnumValue value="orange"/>
  <EnumValue value="red"/>
  <EnumValue value="yellow"/>
  <EnumValue value="white"/>
  <EnumValue value="black"/>
</UserPref>
//用户偏好部分,要实现背景颜色的变化。 color:把用户选择的颜色值存在该变量里;datatype:类型;default_value:默认值;display_name:用户在选择时能看到的选择标题
<Content type="html">
<![CDATA[

<div id="flashcontainer" style="text-align: center;"></div>
<script type="text/javascript">
this.prefs=new _IG_Prefs(__MODULE_ID__);//为偏好部分定义对象
var valuebg=this.prefs.getString("color");//获取用户所选择偏好值
var url = "http://193.168.20.77:8051/map/map.swf";

function show() {
    _IG_EmbedFlash(url, "flashcontainer", {
      swf_version: 6,

光我说可能大家不好理解,想要学的朋友,可以到下面的地址看下教程,但是我的经验是大致了解后就看实例,因为有些教程里的代码无法运行,看实例会更有效率些。。呵呵
[url]http://code.google.com/intl/zh-CN/apis/gadgets/[/url]

[[i] 本帖最后由 lenyes 于 2008-7-3 11:20 编辑 [/i]]

页: [1]



Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.