2009-11-24 62 views
0

更確切地說,我的目標是創建一個附加組件(或插件?),它可以使用類似NSDistributedNotificationCenter這樣的東西與我的主要Cocoa應用程序進行通信。我需要能夠將JavaScript代碼注入當前網頁,並在我的加載項通過我的主應用程序接收請求時從JS調用中獲取返回值。然後我需要將返回值傳回給我的主應用程序進行處理。如何在Mac OS X上使用Objective-C創建Firefox附加組件?

或者,如果有一個簡單的方法來在活動的Firefox網頁中調用JS並獲取也可以完成這個工作的返回值。

如果你想爲什麼我要做到這一點的詳細信息,你可以看看我的其他問題:How to send JavaScript code to IE using C# (.Net 3.5), run it, then get a string return value from the JS code?

請注意,我不僅知道興趣如何使一個Firefox插件也在我上面提到的一切。例如,如何將JS注入活動網頁等。

我希望能夠指導使用哪些技術,教程和示例代碼(如果可能)。最好的將是一個示例Xcode項目,但我不指望這個:P

在此先感謝!

N.B:我正在處理10.4。

+0

沒有真正涉及到這個問題,但:「NB:我的工作10.4「。任何不更新的原因? –

+0

這不是我的個人電腦。我試圖說服我的老闆說我們應該把我的工作站升級到10.5,但是作爲一個Windows開發者,它似乎不是他的首要任務! :P – Form

回答

0

Firefox的第一個learn how to write add-ons。之後添加Objective-C代碼是非常簡單的部分。

+1

Firefox插件(而非插件)是否可以使用js以外的語言(並且xul用於佈局)? – Amarghosh

+1

從本教程的外觀(我在發佈我的問題之前發現的)看起來XPCOM看起來很有趣,但看起來它僅用於js內部......我仍然無力瞭解我需要使用哪種技術在C語言中開發插件/ Obj-C。 C/Obj-C代碼在哪些方面適用於所有這些技術? – Form

+1

https://developer.mozilla.org/en/Creating_Custom_Firefox_Extensions_with_the_Mozilla_Build_System –

1

你可以嘗試使用FF的C類型,這是在你的插件中被Javascript調用的常規dll,這是使用XPCOM的更好方法,因爲如果你在那裏使用的接口可以在每個FF版本中改變事實上你將不得不做多個DLL爲每個插件的支持FF版本

去這裏我的朋友 - >

https://developer.mozilla.org/en-US/docs/Mozilla/js-ctypes/Using_js-ctypes