是否可以在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資源
- 2. 有沒有辦法在Chrome擴展中加載一個applet?
- 3. 有沒有辦法通過Chrome擴展禁用chrome_url_override?
- 4. 有沒有辦法在kaminari中使用數組擴展?
- 5. 有沒有辦法在C++中擴展動態內存數組?
- 6. 在C或C++中,有沒有辦法擴展一個沒有繼承的類?
- 7. 有沒有辦法運行Chrome擴展程序而不點擊?
- 8. 有沒有辦法將參數傳遞給Chrome擴展?
- 9. 有沒有辦法從Chrome擴展啓動Chrome打包的應用程序
- 10. 有沒有辦法'擴展'#define指令?
- 11. 有沒有辦法擴展ThreeJS對象?
- 12. 有沒有辦法使用擴展程序從Google Chrome傳遞信息?
- 13. 有沒有辦法使用Linq投影和擴展方法
- 14. 有沒有辦法在Chrome擴展程序中複製「扳手」菜單?
- 15. 有沒有什麼辦法可以在Chrome擴展中初始化一次?
- 16. 有沒有辦法阻止在Chrome擴展安裝中顯示警告消息
- 17. 有沒有辦法讓打包的託管chrome擴展請求chrome更新它?
- 18. Chrome的captureVisibleTab沒有擴展
- 19. Chrome擴展:沒有彈出
- 20. 在Chrome擴展清單中沒有www
- 21. 有什麼辦法檢測使用Chrome擴展的JavaScript postmessages?
- 22. 有沒有辦法在沒有擴展名的文件上使用rename-item?
- 23. 有沒有辦法使用擴展類類型的Java集合?
- 24. 有沒有辦法使用Groovy 2.0擴展
- 25. 有沒有什麼辦法知道在javascript中擴展屏幕
- 26. 有沒有辦法在運行中擴展/收縮UITableViewCells?
- 27. 有沒有辦法在woodstox中設置實體擴展限制?
- 28. 有沒有辦法在Excel中調整/擴展過濾列表?
- 29. 有沒有辦法在StackOverflowException中打印任何擴展信息?
- 30. 有沒有辦法在Paperclip中黑名單擴展?
那爲什麼不直接寫在第一個地方NPAPI? – Pacerier 2014-10-31 15:10:28