是否可以在chrome擴展中使用C++二進制文件?有沒有辦法在Chrome擴展中使用C++?
25
A
回答
15
36
NPAPI從鉻/歌劇爲過時的安全問題。
您仍然可以使用NPAPI如果你是針對Firefox,但如果Firefox跟隨趨勢,可能在某個時候禁用它。
你今天有更好的選項
使用氯化鈉,如果你只定位於Chrome
,您可以改用NativeClient(AKA的NaCl,AKA PPAPI - 辣椒插件API)
所有代碼跑NaCl內部是沙盒,所以它像一個JavaScript擴展一樣安全。
使用asm.js如果你指定部分平臺
使用Emscripten你可以編譯C/C++代碼轉換爲高度優化的JavaScript格式稱爲asm.js.它的設計具有接近本機的性能,現在有decent support from grade-A browsers except Safari。儘管目前Firefox的性能比Chrome好。
主要瀏覽器廠商也在致力於名爲WebAssembly新的標準,部分被asm.js啓發,但沒有準備好使用此文章的
0
至於說上,你可以使用NaCl溶液的鉻和asm.js與Emscripten適用於所有平臺,但它的反向工程比二進制更簡單。現在有一箇中間解決方案:webassembly - 大多數現代瀏覽器https://caniuse.com/#feat=wasm支持嵌入在瀏覽器中的LLVM字節碼。 因此,Emscripten可以將C++編譯爲wasm,大多數情況下它比asm.js更快。
相關問題
- 1. 有沒有辦法在Chrome擴展中加載一個applet?
- 2. 有沒有辦法通過Chrome擴展禁用chrome_url_override?
- 3. 有沒有辦法在C++中擴展動態內存數組?
- 4. 在C或C++中,有沒有辦法擴展一個沒有繼承的類?
- 5. 有沒有辦法運行Chrome擴展程序而不點擊?
- 6. 有沒有辦法'擴展'#define指令?
- 7. 有沒有辦法使用Linq投影和擴展方法
- 8. 有沒有辦法阻止在Chrome擴展安裝中顯示警告消息
- 9. Chrome擴展:沒有彈出
- 10. 在Chrome擴展清單中沒有www
- 11. 有沒有辦法在運行中擴展/收縮UITableViewCells?
- 12. 有沒有辦法在Unix中不使用擴展名來重定向文件?
- 13. 有沒有辦法使用Chrome擴展API獲取Chrome默認下載文件夾的路徑名?
- 14. 有沒有辦法請求Chrome擴展彈出窗口的麥克風訪問?
- 15. 有沒有辦法獲得谷歌Chrome擴展的絕對路徑
- 16. 有沒有辦法將chrome擴展移植到其他瀏覽器?
- 17. 有沒有辦法關閉Chrome擴展程序或Firefox插件的源代碼?
- 18. 有沒有辦法在控件上蒙皮擴展器?
- 19. 有沒有辦法隱藏VS2010 MEF擴展中的代碼?
- 20. 有沒有辦法通過自定義Chrome擴展來啓用或禁用Chrome的標誌?
- 21. 有沒有辦法在laravel 5中用變量名稱擴展刀片模板?
- 22. 有沒有辦法在JTree中有多個根的擴展器圖標?
- 23. Chrome擴展圖標沒有顏色
- 24. 自定義Chrome擴展沒有顯示?
- 25. 有沒有辦法在Firefox或Chrome中禁用CSS3支持?
- 26. 有沒有辦法在Google的Chrome中禁用IPv6?
- 27. 有沒有辦法,當一個不同的應用程序有焦點時,使用一個可能的Chrome擴展,使Chrome在Windows中成爲焦點?
- 28. Safari瀏覽器擴展程序:有沒有辦法讀取cookies
- 29. 有沒有辦法控制宏擴展命令
- 30. 鉻擴展 - 有沒有辦法永久保存文件?
那爲什麼不直接寫在第一個地方NPAPI? – Pacerier 2014-10-31 15:10:28