Activities典型地介入情景的二种类型:
1.“查寻”在网页之内的信息和"发送"网络内容到Web应用程序。 举一个例子,某用户对restaurant很感兴趣,并且想要看它的地点。 这种形式就是“查寻”活动,用户选择地址,然后就可以使用他喜欢的地图服务来查看地址地图。例如在需要选中某些字,IE 8 就会自动弹出一个绿色的小箭头,点击箭头就会有相应的Activity选择
2.“发送”活动的例子是,比如用户读一篇有趣的文章并且想将其发送到自己的Blog。
用户可以选择文章的部分内容并且使用Blog Activity。 这就可以导航到用户的博客站点,并且选择的内容已经在编辑框内了。
用户可以通过选择在页面的内容来激活Activities。
例如,用户可以选择网页上的一个地址,然后就会出现Activities按钮。 也能通过鼠标右键来访问Activities。
Activities是用户能安装和处理的服务。 用户能安装他们从IE 8服务指南或通过给活动做广告的任何网站。
Activities是用XML文件来描述的,XML文件提供了用户接口,例如浏览器如何通过URL模板与服务器通信。 基于Web的服务应该利用基于XML的Activities的优点,因为XML Activities更容易创建,测试和部署到用户。
Activities大致的分类有如下几种:
Blog
Define
Find
Lookup
Map
Send
Share
Translate
可以参考 http://ie.microsoft.com/activities/zh-chs/default.aspx
这些内置的大多是微软的产品,如Blog是Live Spaces,Define是MSN Encarta等,还有一些产品则是其合作伙伴的,例如Map不仅有Live Search Maps,而且还有Yahoo Local Maps。不过现在Baidu ,淘宝,QQ也开放了一些Activities。
下面介绍一下 OpenService Activity 的XML文件的格式
< OpenServiceDescription xmlns ="http://www.microsoft.com/schemas/OpenServiceDescription/1.0" >
< homegageUrl > http://maps.live.com </ homegageUrl >
< display >
< name > Map with Live Maps </ name >
< icon > http://www.live.com/favicon.ico </ icon >
</ display >
< activity category ="map" >
< activityAction content ="Selection" >
< preview action ="http://maps.live.com/geoteger.aspx" >
< parameter name ="b" value ="{selection}" />
< parameter name ="clean" value ="true" />
< parameter name ="w" value ="320" />
< parameter name ="h" value ="240" />
< parameter name ="format" value ="full" />
</ preview >
< execute action ="http://maps.live.com/default.aspx" >
< parameter name ="where1" value ="{selection}" type ="text" />
</ execute >
</ activityAction >
</ activity >
</ OpenServiceDescription >
上述文件主要由homegageUrl,display,activity节点构成
1.homegageUrl用来定义Activity
homegageUrl | 必选,element | 用来定义Activity,所有的URL都必须匹配域的homegageUrl |
display | 必选,element | 其为包含如下元素的节点 |
name | 必选,element | 向用户显示的Activity的名称 |
icon | 可选,element | 16×16像素的图标 |
description | 可选,element | 对功能的简短说明 |
activity | 必选,element | 包含了Activity功能的容器 |
category | 必选,attribute | Activity元素的属性 |
activityAction | 必选,element | 可以处理一种或多种数据,包括preview和execute字元素 |
context | 可选,attribute | activityAction的属性值;说明了数据类型(selection,documebt,link),默认为selection |
preview | 可选,element | 供用户预览的活动HTML窗口 |
execute | 必选,element | 当用户激活Activity之后执行的主要方法(功能) |
method | 可选,attribute | preview和execute的属性;表明使用HTTP的get还是post方法,默认为get; |
action | 必选,attribute | preview和execute的属性;表示用来提交HTTP请求的URI模版; |
enctype | 可选,attribute | preview和execute的属性;表示提交到服务器的内容的类型; |
accept-charset | 可选,attribute | preview和execute的属性;提交到服务器的字符集,默认是utf-8; |
一个小的例子,Activity还是借用上面提到的微软的地图搜索。
首先新建一个Asp页面,比如叫Activity.aspx。
完整的页面元代买如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Activity 测试</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<button onclick="window.external.addService('Map.xml')">Add Map Activity</button>
</form>
</body>
</html>
点击Add Provider 就ok了
然后就是一个提示安装成功的 对话框
然后鼠标右键
就会发现多了一个Actibity项
测试完成。
当然 Live Map是IE 8 自带的Activity,我们在测试的时候,可以将其删掉先,然后再测试,这样可以看到效果。