2011-05-19 185 views
0

我想問一個有趣的問題。我目前正在開發一個項目,該項目在瀏覽器插件中的用戶腳本安裝之後,開始在所有網頁的底部顯示一個工具欄。假設他安裝了greasemonkey,並安裝了一個腳本,因爲他訪問的網站底部顯示了一個工具欄。網站管理員的Web服務API

工具欄實際上是一個HTML文件是從由用戶的請求後,服務器獲取並顯示爲一個iframe到瀏覽器。比方說,工具欄上有一個下拉菜單,其中有三個項目用戶點擊第一個項目。當用戶點擊這個項目時,請求被髮送到下載.html文件的同一服務器,並根據用戶選擇的選項,在ASP.NET頁面上生成一個jSON文件。讀取此JSON頁面(使用AJAX技術),並根據json中的選項獲取jQuery文件並進行頁面調整。我能夠成功完成,直到現在,但現在我必須爲網站管理員添加一項新功能,即針對網站管理員的Web服務API。

沒有用戶通過瀏覽器插件安裝腳本,我想爲網站管理員提供一個web服務API,通過它可以使這個工具欄出現在網頁的底部。我遇到了一個網站http://www.iecustomizer.com/。請注意出現在網站提供社會化書籤的右下角有一個小工具欄類型的事情,等

我不得不使用上述邏輯相似的東西,但我從來沒有與Web服務的工作。請給我一個想法,以便我可以保持踩踏。

從那裏這些form.html等被downloadeded服務器是一個ASP.NET的Web服務器。它在用戶點擊工具欄上的選項時產生JSON,並且此JSON顯示要加載的選項以及要將哪些jQuery文件發送給用戶。

回答

0

總之,你想要做的是讓您創建一個工具欄將浮動在所有網站頁面和工具欄會從不同的(你)的網站提供服務。

有兩種方式 - 一種是在客戶端插入你的代碼/腳本(瀏覽器)側,第二是在服務器端,將其插入。第二種方式基本上意味着每個網站頁面都應該有一些存根/腳本來加載工具欄。這可以由頁面作者或網站管理員完成。對於後面的組,您需要的不是Web服務API,而是會修改響應以包含存根的Web服務器擴展。通常,在IIS上,您可以使用ISAPI過濾器來完成這項工作 - 需要的是對於內容類型爲html的每個傳出響應,都需要將指向腳本的鏈接添加到html中。腳本文件將由您提供並由網站管理員託管在同一臺服務器上。該腳本將創建一個iframe並從您的網站加載您的工具欄。