2009-12-10 130 views

回答

0

的話題是很老,但我想與大家分享的是樣本: https://github.com/Retyped/Demos/tree/master/ChromeDemo

幾句話,樣品在C#中實現。 Retyped.chrome NuGet包提供了Bridge.NET projects的綁定(Chrome API)。所以是的,現在你可以在C#中實現你的邏輯,然後C#代碼將被Bridge.NET編譯器透明地編譯成JavaScript。

使用該方法,您可以在.NET Framework之上構建Chrome擴展,並使用thousands of JavaScript libraries

8
<Spoilers> 

快速簡短回答:不,因爲擴展需要JSON,JavaScript和HTML。

</Spoilers> 

託尼嗨,
有跡象表明,你可以下載到建立使用Visual Studio中的Chrome擴展項目在互聯網上多個模板。

下載這些模板中的一個只是給你需要的文件和文件夾,我稱之爲「安裝程序」。

這不會讓你使用C#構建Google擴展。

Andrey提到有像Bridge.NET這樣的庫將您的代碼編譯爲HTML/JavaScript。這將幫助您使用C#編寫HTML和JavaScript。你仍然需要一個manifest.json文件。

我不推薦。該庫不適用於Chrome擴展程序。此外,您必須將代碼編譯爲JavaScript並將該JavaScript代碼存儲在JavaScript文件中。我建議在構建Chrome擴展程序時使用不帶編譯器的HTML/JavaScript。

您需要注意的是,擴展名中有3個主要部分。它們是:
manifest.json的
JavaScript文件
HTML文件

有多個步驟,它不是很難建立一個谷歌的Chrome擴展。 This link will give you the complete tutorial on developing a chrome extension with detailed explanation.本教程將安裝一個模板,以便您可以像我之前提到的那樣在Visual Studio中開發它。

+0

這既不涉及你的答案也不涉及問題,只是想問這篇文章中描述的這個鉻模板只適用於VS2013/15。我試着在我的機器上安裝這個模板,只有** visual studio 2017,但它失敗了?此擴展程序僅適用於visual studio 2015嗎? – 2017-11-19 13:28:18

+0

在VS2017上安裝Chrome擴展模板時,我遇到了類似的錯誤。所以根據我的觀點,這個擴展只支持版本VS15,13等 https://stackoverflow.com/questions/41215916/vsixinstaller-noapplicableskusexception-this-extension-is-not-installable-on-an – 2017-11-19 13:31:34

+5

你不小心增加了一個賞金的問題? – 2017-11-20 03:47:52

0

Chrome自己的擴展管理器支持在jshtml中編寫的擴展。

中說,執行擴展中c#代碼,你有兩個選擇:

  1. 編譯c#代碼,然後可以作爲一個正常的javascript延伸到鍍鉻javascript代碼(看一看scriptsharp
  2. 使用c#作爲後端系統。就像大多數的download managers

的情況下,2,你需要安裝在客戶端設備C#應用程序(或雲)上市到特定端口(使用httplistenerself hosted webapi (you can use netcore)它做這些步驟

  1. 清單進入的請求
  2. 解析請求數據,例如,json並用它做什麼
  3. 將結果返回給javascript擴展,它可以顯示給用戶或者做其他事情它。
1

我所做的地址使用Simple Message Host,它會觸發本地計算機上的可執行文件,你在C#代碼,發送stdin消息,聽stdout消息,因此你可以建立這個主的橋樑使用,但正如我所說,它至少需要在local network上,並且您必須在windows registry中進行一些編輯,所以它有其侷限性。

但是對於我正在使用的系統,此解決方案完美運行,因爲我有一個受控環境,可以設置所有這些先決條件。

所以,我只想澄清,我在這裏做的是:

  1. 創建一個Chrome擴展與background.js開放監聽到網站的JavaScript。

  2. windows registry中添加一個註冊表,指向可執行文件的路徑。

  3. 在C#中創建可執行文件,完成您的所有邏輯。

  4. 發送可執行文件到擴展程序的響應,然後返回到網站。

有幾個如何做到這一點的指南,所以我不會在這裏詳細說明這些步驟,所以我不會複製它。

但是現在,如果你對自己的環境有控制權,那麼這是實現你想要的最好的方式。因此,如果您的插件(擴展程序或Chrome應用程序)將在受控環境中工作,這是要走的路,否則,我會考慮與ClickOnceWebAssembly相關的內容,但尚未完全發佈。