原文链接:http://hi.baidu.com/shirdrn/blog/item/9c144dfc1607e984b901a02d.html
刚开始研究Google的OpenSocial,发现还要从Google Gadget(即:Google小工具)学起来,有点无从下手。
首先在Google创建一个个人账户,已经有了可以直接登录,然后才能使用GGE来编辑托管文件,然后可以在自己的iGoogle上测试自己编写的小工具。
登录你的账号,然后打开链接http://code.google.com/intl/zh-CN/apis/gadgets/docs/tools.html,可以看到GGE编辑器。第一次进入,会看到自带的麽个默认的Hello World的例子,如图所示:
如果保存这个默认的helloworld.xml,直接进行发布,会出错的,如图所示:
一些验证的警告,可能,即使你点击OK也不会成功地忽略这些警告,所以,需要添加上警告中提示的一些属性的设置。
下面,是我创建的一个简单的Google小工具命名为welcomeToMyBaiduSpace.xml,如图:
我修改一下,如下所示:
<?xml version=
width = "320" height = "200" author = "shirdrn" author_email = "shirdrn@hotmail.com" description = "Shirdrn's first Google Gadget">
<![CDATA[ Hello,欢迎访问我的百度空间 http://hi.baidu.com/shirdrn ]]> |
修改完成以后,选择左上角的“File”下的"Save"或者“Save As”保存即可。
我在其中输入中文字符了,可以看到,它会自动将中文转换为Unicode码。
OK,上面这个最简单的一个Google小工具就完成了。
然后,将自己编写Google小工具发布到自己的iGoogle上测试一下效果。
选择“File”下的“Publish”,会弹出一个验证警告对话框,如下所示:
单击“OK”即可,忽略这个警告,接着弹出对话框,如图所示:
这时,就要根据需要进行选择了。如果是这样的简单测试,选择“Add to my iGoogle page”发布到自己的iGoogle主页上即可,如果是一个具有复杂交互功能、比较成功的Google小工具,可以选择“Publish t0 iGoogle Directory”发布到iGoogle目录中供大家分享你的Google小工具,另外可以选择“Add to a webpage”发布到一个页面上。
我选择“Add to my iGoogle page”,这时会弹出一个确认添加到你的iGoogle上的提示页面,如图所示:
选择蓝色按钮“Add to Google”,添加到自己的iGoogle上,页面转向自己的iGoogle,你会看到多了下面一个Tab页:
OK,第一个Google小工具就开发测试完成了。下面,直接引用Google Gadget API参考,来简单说明一上上面XML代码的结构及其含义:
XML 文件中的 <Module>
小工具的用户不能更改这些属性。 下表列出了
|
上面的Google小工具只是加入了一些文本内容,实际里面可以添加HTML、JavaScript、Flash等代码,完成复杂的功能,使用户能够体验到复杂的交互,下面使用一个别人开发的名称为ROT13的Google小工具,看一下效果如何,XML代码如下所示:
<?xml version=
width = "320" height = "200" author = "shirdrn" author_email = "shirdrn@hotmail.com" description = "ROT13"/>
<![CDATA[ <script type=
// The gadget version of ROT13. // Encodes/decodes text strings by replacing each letter with the letter // 13 positions to the right in the alphabet. function decodeMessage (form) { var alpha = "abcdefghijklmnopqrstuvwxyz"; var input = form.inputbox.value; var aChar; var message = ""; for (var i = 0; i <input.length; i++) 12) { // compensate for 0-based index { aChar = input.charAt(i); var index = alpha.indexOf(aChar.toLowerCase());
// if a non-alphabetic character, just append to string if (index==-1) { message += aChar; }
// if you have to wrap around the end of the alphabet else if(index > index = 25 - index; // last item in array is at [25] index = 12 - index; // because array starts with 0 aChar = alpha.charAt(index); message += aChar; }
// if you don't have to wrap else { aChar = alpha.charAt(index+13); message += aChar; } } document.getElementById('content_div').innerHTML = "<b>Your message: </b>" + message; }
<FORM NAME= </FORM> <div id= ]]> |
上面代码中,title我给修改了,由于发布需要一些必要的属性,我自己给添加上了一些,如下所示:
width = "320" height = "200" author = "shirdrn" author_email = "shirdrn@hotmail.com" description = "ROT13" |
保存为magicDecoder.xml文件,实际上完整的URL形式为:
http://hosting.gmodules.com/ig/gadgets/file/117231683431063926075/magicDecoder.xml
然后,将其发布到我的iGoogle上,浏览效果如下所示:
填写一个Message,是字母串,我使用HelloShirdrn测试,如图所示:
关于ROT13,可以参考页面: