我正在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. 如何使用c執行mac OS x可執行文件iphone
- 2. 插入可執行從外部文件
- 3. 防止損壞的可執行文件在OS X上啓動
- 4. 在OS X上跟蹤互連的Python可執行文件
- 5. 外部可執行文件的行爲
- 6. 如何在Mac OS X上創建ELF可執行文件?
- 7. 調用外部可執行文件的工作流程
- 8. 從我的可執行文件調用
- 9. 從外部文件調用執行停止代碼
- 10. PHP執行外部文件
- 11. 無法在Mac OS X上的Google Chrome中加載NPAPI插件
- 12. 爲OS X編譯的Golang可執行文件擴展名
- 13. 創建可調用外部dll函數的flash可執行文件
- 14. 遠程調試外部可執行文件
- 15. 執行從外部HTML文件
- 16. 從JSP調用可執行文件
- 17. 是否可以在Safari(Mac OS X)中加載NPAPI插件?
- 18. 如何在Mac OS X終端上運行G95可執行文件
- 19. 在Java中運行Unix可執行文件Objective-C文件(OS X)
- 20. 如何從OS X上構建文件?
- 21. 如何從Eclipse內部調試外部編譯的C++可執行文件(使用調試標誌集)?
- 22. 在Mac OS X上的Eclipse中運行外部工具
- 23. 可執行文件夾的外部屬性文件
- 24. 從Python腳本啓動時,外部可執行文件崩潰
- 25. 從OS X Dock執行Shell腳本?
- 26. 運行Hadoop MapReduce,是否可以調用HDFS之外的外部可執行文件
- 27. 從Java執行外部應用程序或運行bat文件
- 28. Qt執行外部可執行程序?
- 29. OS X - 將文件拖到可執行文件上,以文件作爲第一個參數啓動?
- 30. 無法從extensionscript .jsx文件調用可執行文件