在windows上,當「Shell.Explorer」ActiveX控件嵌入到應用程序中時,可以在實現IDispatch的對象上註冊一個「外部」處理程序,以便網頁上的腳本可以調用到宿主應用程序。嵌入式Webkit - 腳本回調如何?
<button onclick="window.external.Test('called from script code')">test</button>
現在,我已經感動到Mac開發,我想我可以擺脫嵌入在我的Cocoa應用程序WebKit的類似工作的東西。但是,似乎沒有任何工具可以讓腳本回調主機應用程序。
一條建議是掛鉤window.alert
並獲取腳本以傳遞格式化的消息字符串作爲警報字符串。 我也想知道WebKit是否可以使用NPPVpluginScriptableNPObject指向應用程序託管的NPAPI插件。
我錯過了什麼嗎?主持WebView並允許腳本與主機交互真的很難嗎?
[webView mainFrame] loadData:fire didClearWindowObject:?我有[webView setFrameLoadDelegate:self];設置,但是當我嘗試一個斷點時,這不是設置windowScriptObject。 – Luke 2010-05-12 04:23:23
我知道它是以這種方式運行的,但是如何從Cocoa調用一個處理程序(JS函數),作爲可可中發生的回調。當然你可以從'WebView'中獲得'windowScriptObject',但是'Cocoa'知道它屬於哪個'WebScriptObject'實例嗎? – 2013-07-16 10:07:50
太棒了。謝謝! ;-) – 2014-06-08 15:06:57