我正在OS X上開發一個應用程序(下載管理器類型),我希望通過Mozilla插件API NPAPI與主要Mac瀏覽器(Safari,Firefox,Chrome,Opera,Camino)集成。我對如何在Mac上註冊我的應用程序有基本的瞭解,以處理特定的URL和文件類型(通過啓動服務API,info.plist文件等),並且我也明白我可以註冊特定的MIME類型在NPAPI中。但是,我發現NPAPI文檔中幾乎沒有與外部應用程序集成的鉤子,例如,當單擊超鏈接並將此數據傳遞到外部應用程序時,通過NPN_GetURL()
獲取URL。我發現調用外部應用程序的唯一參考是C中的system
函數,我很難相信這是它可以完成的唯一方法。我知道其他Mac應用程序(下載管理器)能夠以這種方式與瀏覽器集成,但似乎很少有關於它的文檔。我誤解了NPAPI的目的嗎?從OS X上的NPAPI調用外部可執行文件?
1
A
回答
0
NPAPI的實際API是非常有限的;很多插件通過直接的系統調用來完成。 system
不是您唯一的選擇 - 您可以使用任何可以使用任何OS X應用程序(NSWorkspace
,Apple事件,IPC到launchd
註冊的服務等)的任何東西 - 但您不會在NPAPI中找到呼叫你想要什麼。
1
是的,你誤解了NPAPIs的用途。對於攔截點擊鏈接和更改瀏覽器行爲等內容,您需要編寫browser extensions,而不是插件。
參見:
相關問題
- 1. 爲OS X製作可執行的可執行文件
- 2. 從OS X創建用於Ubuntu的C++可執行文件
- 3. 如何運行在OS X上的可執行文件
- 4. 如何使用c執行mac OS x可執行文件iphone
- 5. 插入可執行從外部文件
- 6. 如何調試外部調用的C++可執行文件
- 7. 在OS X上跟蹤互連的Python可執行文件
- 8. 防止損壞的可執行文件在OS X上啓動
- 9. 外部可執行文件的行爲
- 10. 如何在Mac OS X上創建ELF可執行文件?
- 11. 在Mac OS X上找不到Pip可執行文件
- 12. 在OS X上從Java應用程序運行外部腳本
- 13. 從Mac OS X上的.app文件夾運行hdiutil等外部程序
- 14. NPAPI Chrome擴展:如何執行包含的可執行文件?
- 15. 調用外部可執行文件的工作流程
- 16. Java執行程序只調用外部可執行文件的速度稍快
- 17. 從我的可執行文件調用
- 18. 從Android中的外部本機可執行文件調用java代碼
- 19. 在Windows 8中編譯的OS X上運行SDL可執行文件
- 20. 從外部文件調用執行停止代碼
- 21. PHP執行外部文件
- 22. 爲OS X編譯的Golang可執行文件擴展名
- 23. 無法在Mac OS X上的Google Chrome中加載NPAPI插件
- 24. 執行外部.class文件?
- 25. 創建可調用外部dll函數的flash可執行文件
- 26. 遠程調試外部可執行文件
- 27. 從JSP調用可執行文件
- 28. 從PHP調用MATLAB可執行文件
- 29. 從JAVA調用C++可執行文件
- 30. jsshell執行外部文件