2009-09-18 26 views
0

我想用Safari開發一個插件。現在我想做一個演示,在它的MainWindow或菜單中添加一個按鈕到它的MenuBar中。我已經看到文檔WebKitPluginProgTopic和示例:/ Developer/Examples/Webkit/WebKitMoviePlugIn。但他們並沒有告訴使用safari製作插件的全部過程,以及如何在Safari瀏覽器窗口中添加一些菜單或按鈕。有人可以給我一些建議或簡單的代碼來解決這個問題,非常感謝!如何添加一個菜單到Safari MenuBar或添加一個按鈕到它的MainWindow?

回答

3

插件體系結構不是用於增強瀏覽器,而是支持特殊媒體格式,如flash或quicktime。問題是插件僅在找到相應的媒體類型時加載。

敏捷網絡解決方案已經找到了一種方法來加載插件中的所有站點1Password並將代碼插入Safari。他們已將它記錄在their blog中。對於其他注入代碼的方法,請看這個問題:InputManager plug-ins in Snow Leopard

我還沒有在編程的方式構建菜單的任何經驗,但它應該像這樣工作:

NSMenu *newMenu = [[[NSMenu alloc] initWithTitle:@"MyMenu"] autorelease]; 
NSMenu *mainMenu = [NSApp mainMenu]; 
[mainMenu addItem:newMenu]; 

更改Windows不是那麼容易。你最好的猜想可能是[NSApp orderedWindows],它只存在於腳本目的,但應該對你的任務有用。

+2

值得一提的是,改變Safari UI的插件完全不受支持,而且您可以使其工作的唯一方式就是通過極端的黑客行爲,正如您指出的那樣。 任何時候Safari都會更新,你的hacky插件可能(也可能會)中斷。 – 2009-09-18 10:02:16

相關問題