2015-05-10 31 views
0

有沒有什麼辦法可以創建一個託管在127.0.0.1的服務器,它將託管Chrome(非傳統)擴展中的文件夾?我們希望擴展可以用作開發團隊的一部分,因此我們正在研究一個非遺留版本。Chrome擴展程序:是否可以在文件夾上創建基於TCP/Websocket的服務器?

遵循此鏈接:https://github.com/kzahel/web-server-chrome 哪些提供了有關如何啓動服務器的見解。問題是,我們每次在IP:端口啓動服務器時,都必須手動配置文件夾路徑。但是相反,我們希望擴展自己配置可能在JS文件中硬編碼的文件夾路徑。

回答

1

有沒有什麼辦法可以創建一個託管在127.0.0.1的服務器,託管一個來自Chrome(非傳統)擴展的文件夾?

不,你不能這樣做的擴展。您需要一個Chrome應用才能使用sockets API,這是公開服務器的唯一方法。

但相反,我們希望擴展自己配置文件夾路徑,甚至可以在JS文件中進行硬編碼。

您不能硬編碼到任意本地文件的路徑。這是一項安全功能 - 您必須至少請求訪問一次。之後您可以保留條目。

但是,您提到「託管Chrome(非傳統)擴展中的文件夾」。如果您的意思是該文件夾本身是擴展程序(或者說,應用程序)文件的一部分,則,您可以自動獲取訪問權限。除了代替fileSystem API之外,您需要撥打chrome.runtime.getPackageDirectoryEntry()來獲取應用文件夾的根目錄。

請注意,您只能以這種方式獲得只讀權限。

+0

謝謝Xan,我想知道這個chrome.runtime是必須在腳本的內容部分配置還是作爲背景文件配置?我們對這個擴展的創建是全新的,並且在這個階段就會堅持下去。 –

+1

內容腳本對Chrome API的訪問權限非常有限。查看內容腳本文檔以獲取列表。此通話不可用。 – Xan

+0

謝謝!讓我的服務器啓動並運行,並在服務器IP上的文件:)很好的回答:) –

相關問題