IE 8 Accelerator 加速器開發介紹 get 篇 (Activities)

隨著 Windows Internet Explorer 8 Beta 2 IE8 繁體中文版 的發佈,
IE 8 能讓程式設計人員更容易增加的小工具進去的 Accelerator 加速器,
這篇將介紹如何簡單製作一個 IE 8 Accelerator 加速器來搭配 get 的模式

隨著  Windows Internet Explorer 8 Beta 2 IE8 繁體中文版  的發佈,
IE 8 能讓程式設計人員更容易增加的小工具進去的 Accelerator 加速器,
這篇將介紹如何簡單製作一個 IE 8 Accelerator 加速器來搭配 get 的模式,
而講 get 模式實在有點玄,這邊就講白一點的方式,就是搭配 Querystring 傳遞,
很多網站的功能都是透過傳遞關鍵的 Querystring  參數來顯示查詢的功能,
透過 IE 8 Accelerator 加速器來將所選取反白的文字做一各快速的查詢是非常的簡單製作。

整個 IE 8 Accelerator 加速器的關鍵靈魂就是一個 xml 檔案

 


<?xml version="1.0" encoding="UTF-8"?>
<openServiceDescription
  xmlns="http://www.microsoft.com/schemas/openservicedescription/1.0">
  <homepageUrl>http://zh.wikipedia.org/</homepageUrl>
  <display>
    <name>Wiki</name>
    <icon>http://www.dotblogs.com.tw/favicon.ico</icon>
    <description>Wiki</description>
  </display>
  <activity category="share">
    <activityAction context="selection">
	<preview action="http://zh.wikipedia.org/w/index.php">
            <parameter name="title" value="{selection}" />   
	     <parameter name="variant" value="zh-tw" />                                
    </preview>
      <execute method="get" action="http://zh.wikipedia.org/w/index.php" >
        <parameter name="title" value="{selection}" type="text" />
	 <parameter name="variant" value="zh-tw" />  
      </execute>	
    </activityAction>
  </activity>
</openServiceDescription>

 

 

而這篇將透過查詢 wiki 的範例,來做整個 xml 的說明,
整個xml主要組成是由 <homepageUrl> <display><activity>這三個區塊,
而這三個區塊也將是設定的重要來源。
一.<homepageUrl >
首先先介紹 homepageUrl ,這邊有一個非常重要要注意的,
就是 <homepageUrl>  的設定是跟 <activity> 是相關的,當如果你設定 <homepageUrl>http:///www.dotblogs.com.tw</homepageUrl> 那 <activity> 裡面的 action 網址,
一定要是
http://www.dotblogs.com.tw 這個網域的才可以,
如果是不同的網域,將會在IE8註冊進去Accelerator出現提示錯誤的視窗,這個Accelerator將無法註冊進去。

 

二.<display>
有三個標籤可以設定
name : 顯示在 IE8 加速器的名稱
icon: 顯示在IE8 加速器的小圖
description:描述功能

三.<activity>
category 屬性:顯示在 IE8 分類,有 map blog define add translate share 六種
context 屬性:預設為 selection ,目前選到反白的資料

而讓IE8能夠搭配指定的網站連結的關鍵就是 activityAction,
activityAction 分兩個部分 previrew ( 執行加速器後先跑出預覽小視窗) , excute (跳至指定網頁來接QueryString)
設定action部分就直接程式碼講解,action屬性為要去查詢的網頁,一般查詢wiki頁面上的網址列會顯示
http://zh.wikipedia.org/w/index.php?variant=zh-tw&title=查詢的內容
這種透過QueryString方式的,就可以用 get  的方式,所以在action 裡的設定就是網址,
而後面的參數,請不要直接串在 action 的網址列,而是增加 <parameter /> 方式,
在這個 wiki 的範例中, title 就是反白選取的資料 {selection} ,
而另一個傳入變數 variant 則可再增加一個 <parameter />
 

<execute method="get" action="http://zh.wikipedia.org/w/index.php" >
        <parameter name="title" value="{selection}" type="text" />
     <parameter name="variant" value="zh-tw" />  
      </execute>    

就這樣非常簡單的步驟,已經完成 IE 8 Accelerator 加速器的 wiki 設計,
而 preview 的部分設定與 excute 一樣,只是要特別注意的是 preview 的部分必須考量到顯示的視窗 320 × 240,
如果超過這個指定的大小,預覽的視窗就會不完整。

而要怎麼讓大家來安裝你的 IE 8 Accelerator 加速器,只需要發佈你的 xml 到網路上並搭配一個簡單的html頁面,
加上以下的程式碼,就能將你做的IE 8 Accelerator 加速器分享給其他的朋友。

<button onclick="window.external.addService('http://demo.dotblogs.com.tw/dotjum/wiki.xml')">
Add Wiki</button>

當然IE 8 Accelerator 除了 {selection} 可以使用當作值的傳遞外,在白皮書中還提到有 {documentUrl}{documentTitle},
還有POST的等相關方法,在下一篇中,在跟大家介紹其他的應用。

安裝本範例網址
http://demo.dotblogs.com.tw/dotjum/Activities.aspx

參考資源:
IE8 開發白皮書  (在這個版本白皮書中,Accelerator 加速器開發對應到文件是  Activities
http://code.msdn.microsoft.com/ie8whitepaperscn/Release/ProjectReleases.aspx?ReleaseId=833
Internet Explorer 8 開發 Accelerator 實例 - 搜尋點部落內容
Internet Explorer 8 開發 Accelerator 實例 - 搜尋 Google Maps 地圖 (含 Preview 功能)
Internet Explorer 8 開發 Accelerator 實例 - 加入 MSDN Social Bookmarks