2010-11-29 3 views
1

У меня есть определенные сомнения относительно WebKit Framework в какао ... прошу прояснить их.Каковы возможности рамок WebKit

  1. Может ли какао-приложение использовать/получать параметры в веб-приложении? Если да, то каков будет механизм для этого?
  2. Может ли приложение какао ответить (например, изменение пользовательского интерфейса или сообщение оповещения) соответственно на основе параметров веб-приложения i/p или o/p?
  3. Можно ли использовать приложение для какао для внешнего (веб-приложения) Java Script/или Java Code?

ответ

3

В случае, если вы хостинг WebKit WebView в приложении: -

  1. Objective-C в приложении можно назвать Java Script в размещаемой странице. Используйте сообщение WebView windowScriptObject для извлечения объекта, который вы можете назвать evaluateWebScript.

  2. Javascript на размещенной странице может вызвать код Objective-C в вашем приложении: вам необходимо рекламировать вызываемые методы путем реализации протокола WebScriptObject. Критической частью является вызов [[theView windowScriptObject] setValue: someobjectthatimplementstheprotocol forKey: @ "callme"]. Затем Javascript может вызвать «callme.someMethod (blah)», который будет допрашивать ваш объект, чтобы узнать, поддерживает ли он someMethod, а затем вызывает его.

HTML, может выглядеть примерно так IIRC:

<button onClick="callme.someMethod()" .../> 
+0

THx Криса, но есть ли способ доступен, так что я могу знать, что ли нажал пользователь га на какой-то кнопки или ссылки на веб-странице? – Sid

+0

Если щелчок на кнопке реализован как java-скрипт, он может вызвать ваш код obj-c через протокол обратного вызова WebScriptObject. Если щелчок находится на простом элементе типа ссылки, то WebView имеет интерфейс делегата iirc, который получает уведомление о прогрессе, навигации и т. Д. –

Смежные вопросы