В Windows, когда элемент управления ActiveX «Shell.Explorer» встроен в приложение, можно зарегистрировать «внешний» обработчик - для объекта, который реализует IDispatch, так что скрипты на веб-странице могут вызывать хостинг. применение.
<button onclick="window.external.Test('called from script code')">test</button>
Теперь я перешел к разработке на Mac и подумал, что я мог бы получить нечто подобное, работая с WebKit, встроенным в мое приложение Cocoa. Но, похоже, на самом деле нет никаких средств, позволяющих скриптам вызывать обратный вызов хост-приложения.
Один совет - перехватить window.alert
и заставить сценарии передавать отформатированную строку сообщения в качестве строки предупреждения.
Мне также интересно, может ли WebKit быть направлен на плагин NPAPI, размещенный в приложении, с помощью NPPVpluginScriptableNPObject.
Я что-то упустил? Неужели так сложно разместить WebView и позволить сценариям взаимодействовать с хостом?