[ie8] 我的第一個加速器 - Youtube搜尋加速器

  • 5242
  • 0
  • 2012-07-01

我的第一個加速器 - Youtube搜尋加速器

[i love dotblogs]

新的IE8問世眾多功能裡面加速器是一個很實用功能。輕輕點幾下滑鼠,就可以幫你把網頁上的資訊傳到其他的網路服務去。省去你還要新開視窗再複製又貼上的步驟。

 

嘴巴說不如直接動手做,來練習一下做一個Youtube搜尋加速器吧。

 

加速器其實就是IE8網頁上按了右鍵的選單上快速鍵的功能,你可以把網頁上的資料快速的使用post或get的方式傳到另一個網頁去,那可以傳什麼資料呢?像是選取的文字、網頁的標題或是網頁的網址等等,全部的資料類型可以在參考資料找到。

 

很明顯得我想要做的Youtube搜尋加速器應該是要把我在網頁上選取的文字送到Youtube做查詢,先去Youtube上面測試一下它的搜尋要帶什麼資料。

 

image

 

知道要帶什麼QueryString之後就可以動手來寫了。最簡單的方法就是先從參考資料那邊把範例的xml copy過來改一下。

<?xml version="1.0" encoding="UTF-8"?>
<os:openServiceDescription  xmlns:os="http://www.microsoft.com/schemas/openservicedescription/1.0">
    <os:homepageUrl>http://www.youtube.com</os:homepageUrl>
    <os:display>
        <os:name>搜尋Youtube影片</os:name>
        <os:description>搜尋Youtube影片</os:description>
    </os:display>
    <os:activity category="Search">
        <os:activityAction context="selection">
            <os:execute method="get" action="http://www.youtube.com/results" >
                <os:parameter name="search_type" value="" type="text" />
                <os:parameter name="search_query" value="{selection}" type="text" />
                <os:parameter name="aq" value="f" type="text" />
            </os:execute>
        </os:activityAction>
    </os:activity>
</os:openServiceDescription>
 
我們用get的方式把我們剛剛找出來的QueryString當作參數傳給Youtube的搜尋頁面,search_query參數的value帶的是我們在網頁上選取的文字。
 
category定義的是你這個加速器在管理介面的時候會排在那一個類別。
image
 
display裡面的name是必填的項目,是你這個加速器的名稱。description可以不填。
 
homepageUrl是你這個加速器的主網址,通常應該會是填首頁進去,這裡有個地方要注意,加速器的規範裡面,所有的url都必須跟homepageUrl是同一個domain裡面的,如果不是,在你加入加速器的時候會出現"加速器的資訊有問題"的錯誤提示。

 image

 

再做一個按鈕觸發加入加速器的動作,當然還是從範例改一下。

<button id="myButton" onclick="window.external.AddService('YoutubeSearch.xml')">
            Searh Youtube</button>

 

ok,這樣就完成了我的第一個加速器練習,為什麼會想到做個Youtube搜尋加速器呢?!

image

 

呵,這樣是不是很方便!!

 

demo

 

參考資料

http://msdn.microsoft.com/en-us/library/cc289775(VS.85).aspx

---------------

這是簽名檔,I love Dotblogs