Windows에서 "Shell.Explorer"ActiveX 컨트롤이 응용 프로그램에 포함되어 있으면 웹 페이지의 스크립트가 호스팅 응용 프로그램을 호출 할 수 있도록 IDispatch를 구현하는 개체에 "외부"처리기를 등록 할 수 있습니다 .임베디드 웹킷 - 스크립트 콜백 방법?
<button onclick="window.external.Test('called from script code')">test</button>
이제 Mac 개발로 옮겨서 내 코코아 응용 프로그램에 포함 된 WebKit에서 비슷한 작업을 할 수 있다고 생각했습니다. 그러나 실제로 스크립트가 호스팅 응용 프로그램으로 다시 호출 할 수있는 기능이없는 것 같습니다.
한 가지 조언은 window.alert
을 연결하고 스크립트를 통해 서식이 지정된 메시지 문자열을 경고 문자열로 전달하는 것이 었습니다. 또한 WebKit을 NPPVpluginScriptableNPObject를 사용하여 NPAPI 플러그인을 호스팅하는 응용 프로그램으로 전달할 수 있는지 궁금합니다.
내가 누락 된 항목이 있습니까? WebView를 호스팅하고 스크립트가 호스트와 상호 작용할 수있게하는 것이 정말로 어렵습니까?
[webView mainFrame] loadData : didClearWindowObject를 발생시킵니다.? 나는 [webView setFrameLoadDelegate : self]를 가지고있다. setup하지만 breakpoint를 시도 할 때 windowScriptObject를 설정하지 않습니다. – Luke
나는이 방법으로 돌아 다니고 있지만, 코코아에서 콜백 (callback)으로 핸들러 (JS 함수)를 어떻게 호출 할까? 물론'WebView'에서'windowScriptObject'를 얻을 수는 있지만'Cocoa'가 그것이 속한'WebScriptObject' 인스턴스를 알 수있는 방법이 있습니까? –
좋은 사람. 감사! ;-) –