回答
的話題是很老,但我想與大家分享的是樣本: 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。
<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中開發它。
這既不涉及你的答案也不涉及問題,只是想問這篇文章中描述的這個鉻模板只適用於VS2013/15。我試着在我的機器上安裝這個模板,只有** visual studio 2017,但它失敗了?此擴展程序僅適用於visual studio 2015嗎? – 2017-11-19 13:28:18
在VS2017上安裝Chrome擴展模板時,我遇到了類似的錯誤。所以根據我的觀點,這個擴展只支持版本VS15,13等 https://stackoverflow.com/questions/41215916/vsixinstaller-noapplicableskusexception-this-extension-is-not-installable-on-an – 2017-11-19 13:31:34
你不小心增加了一個賞金的問題? – 2017-11-20 03:47:52
Chrome自己的擴展管理器支持在js
和html
中編寫的擴展。
中說,執行擴展中c#
代碼,你有兩個選擇:
- 編譯
c#
代碼,然後可以作爲一個正常的javascript
延伸到鍍鉻javascript
代碼(看一看scriptsharp) - 使用c#作爲後端系統。就像大多數的
download managers
:
的情況下,2,你需要安裝在客戶端設備C#應用程序(或雲)上市到特定端口(使用httplistener
或self hosted webapi (you can use netcore)
它做這些步驟
- 清單進入的請求
- 解析請求數據,例如,
json
並用它做什麼 - 將結果返回給
javascript
擴展,它可以顯示給用戶或者做其他事情它。
我所做的地址使用Simple Message Host
,它會觸發本地計算機上的可執行文件,你在C#代碼,發送stdin
消息,聽stdout
消息,因此你可以建立這個主的橋樑使用,但正如我所說,它至少需要在local network
上,並且您必須在windows registry
中進行一些編輯,所以它有其侷限性。
但是對於我正在使用的系統,此解決方案完美運行,因爲我有一個受控環境,可以設置所有這些先決條件。
所以,我只想澄清,我在這裏做的是:
創建一個Chrome擴展與
background.js
開放監聽到網站的JavaScript。在
windows registry
中添加一個註冊表,指向可執行文件的路徑。在C#中創建可執行文件,完成您的所有邏輯。
發送可執行文件到擴展程序的響應,然後返回到網站。
有幾個如何做到這一點的指南,所以我不會在這裏詳細說明這些步驟,所以我不會複製它。
但是現在,如果你對自己的環境有控制權,那麼這是實現你想要的最好的方式。因此,如果您的插件(擴展程序或Chrome應用程序)將在受控環境中工作,這是要走的路,否則,我會考慮與ClickOnce
或WebAssembly
相關的內容,但尚未完全發佈。
- 1. 針對Google Chrome插件的TWAIN支持
- 2. Google Chrome SQLite3插入數據
- 3. Google Chrome/unix的Cookie文件
- 4. 訪問變量Google Chrome插件的頁面上的腳本?
- 5. google chrome rss插件的名稱是什麼?
- 6. 無法在Mac OS X上的Google Chrome中加載NPAPI插件
- 7. 適用於Firefox/Google Chrome的Socket.io客戶端插件
- 8. Leopard上的Google Chrome npapi插件加載支持(10.5.8)
- 9. Google Chrome插件:如何檢測選定標籤的網址
- 10. 構建Google Chrome瀏覽器插件的提示/資源
- 11. Chrome擴展插件js
- 12. Chrome插件開發
- 13. Firefox/Chrome插件socketio
- 14. Chrome插件刪除
- 15. iPhone上的Chrome插件
- 16. 適用於Chrome的惡搞插件
- 17. Google Chrome緩存PDF文件
- 18. Chrome插件進程 - npapi插件
- 19. 如何製作Google Chrome Frame支持ActiveX插件?
- 20. Google Chrome插件開發 - 監控網絡請求?
- 21. 如何在Windows中爲Google Chrome創建PPAPI插件?
- 22. jQuery循環插件(通常)在Google Chrome中無效
- 23. Google Chrome Native Client與插件或擴展相比
- 24. Google郵件插入文本窗口chrome-extension
- 25. 使用Google身份驗證器和Chrome插件
- 26. 將火狐插件擴展程序移植到Google Chrome
- 27. Google Web Toolkit插件不適用於Chrome瀏覽器
- 28. Sencha使用Google Chrome Frame插件在Internet Explorer上觸摸
- 29. 如何在Chrome中啓動Google地球插件
- 30. 檢測Google Chrome瀏覽器是否阻止Java插件
只是出於好奇;你爲什麼要這個? – Zimano 2017-11-18 11:43:44