2013-08-30 19 views
1

我想建立一個插件具有基本功能的需要和技術的步驟:建立以下插件

  • 得到的網頁文本(A)(訪問http://facebook.comhttp://youtube.com等)這樣的評語。
  • 調用Web服務功能的過程本文(A)和返回另一個文本(B)
  • 代替(A)由(B),並顯示它爲用戶

這是我的插件的基本思路。

但我不知道構建它所需的步驟和技術。請幫我澄清一下。

回答

1

您可以使用page-mod,以便在登錄到特定頁面(Facebook,Youtube)時觸發腳本,該腳本可以將數據(註釋)傳送到main腳本,以便可以通過某種方式將其發送到外部服務器如net/xhr。使用DOM元素保留請求將是必要的,以便在響應時,主腳本可以與頁面模式工作者進行通信,以將響應文本替換爲相應的DOM元素。

+0

謝謝。我非常感謝 – cumga007

0

出現在Firefox - 附加的SDK,有從那裏完成類似你說的是什麼東西的教程視頻,但它與谷歌翻譯API:看到它here

在XUL,首先你需要把擴展的基本結構放在一起。見here是一個很好的開始。

然後你就可以選擇它,並單擊快捷菜單(reference)項目獲取文本:

<popup id="contentAreaContextMenu"> 
    <menuitem id="yourMenuItem" 
       label="Name of your service" 
       insertafter="context-selectall" 
       oncommand="yourFunction();" /> 
</popup> 

,當點擊將獲得選擇的內容(reference):

var selectedText = doc.getSelection().toString(); 

alert(selectedText); 

的您通過XMLHttpRequest(reference),當響應到來的時候,您更改選定的文本到一個服務器返回打電話給你的web服務

// textToReplace is the text that will replace the currently selected text 
var doc = gBrowser.contentDocument; 

var sel, range; 
sel = doc.getSelection(); 
if (sel.rangeCount) { 
    range = sel.getRangeAt(0); 
    range.deleteContents(); 
    range.insertNode(doc.createTextNode(textToReplace)); 
} 

你仍然需要做很多驗證,但這是關於你需要做什麼。

+0

謝謝。我真的很感激 – cumga007