0

我不確定應該使用哪種技術,甚至不知道我正在嘗試執行什麼操作,因此我希望能夠就此問題獲得一些指導。與Chrome擴展程序的本地方法進行交互

我們有一個客戶端/服務器架構,從客戶端你應該能夠通過從瀏覽器 - >客戶端 - >服務器,或直接從瀏覽器發送命令到服務器端 - >服務器

我的問題是,我應該怎樣幫助我完成這項任務?我相信如果我使用Chrome擴展程序,它將不得不使用NPAPI與本地PC進行交互,這比推薦的要少;)

該解決方案只需要在Windows上工作,並且不會訪問任何的本地用戶文件。

感謝您的幫助!

+1

你能舉一個應用程序流程的例子嗎?我沒有看到你在找什麼。 – 2012-07-27 13:43:20

+0

瀏覽器擴展 - >瀏覽器擴展上的按鈕 - >以某種方式與本地/遠程機器方法交互 - > ??? - >利潤! 我希望這樣做更清楚一點。基本上,如果我在客戶端/服務器中提供一個API(無關哪一個),我怎樣才能從瀏覽器與它進行交互? – 2012-07-27 17:40:29

+0

最簡單的方法是使用您最喜歡的語言創建本地服務器,在確認後調用預定義的系統方法。 (如果沒有基於白名單的驗證方法,您應該*從不*執行用戶輸入)。 – 2012-07-27 19:44:41

回答

1

在Chrome擴展中,當且僅當您明確定義manifest文件中的權限(url模式)時,才允許您訪問外部資源。

根據您的應用程序的需要,您可以使用RESTful服務器方法或WebSockets服務器方法。完成開發服務器後,您的擴展可以使用現有的Web技術(XmlHTTPRequest,WebSocket)通過它進行通信。

假設你打算使用RESTful,我會做的是創建一個JavaScript服務類/庫,使用XHR與後端(服務器)進行通信,並將其包含在擴展中的background page中。然後,您可以使用擴展消息傳遞與您的服務類進行通信。

把它想象成這樣,在你的擴展中的後臺上下文中定義的腳本生活在你的擴展和你的服務器之間,就像一個門面。在GitHub/StackOverflow上搜索,如果您需要關於如何,有很多有用的帖子/項目的問題。

+0

非常感謝你這個有用的答案。肯定給了我一個很好的啓動點在哪裏看。 :) 非常感謝! – 2012-07-30 14:41:21

相關問題