Любой способ для веб-просмотра общаться с родным приложением iOS? - PullRequest
7 голосов
/ 18 мая 2011

У меня есть приложение для iPad, которое содержит веб-просмотр. На странице веб-просмотра есть кнопка, которая при нажатии должна как-то указывать нативному приложению закрыть веб-просмотр. Есть какой-либо способ сделать это? то есть способ для javascript в веб-представлении передавать сообщения в собственное приложение, и наоборот?

Спасибо!

Ответы [ 4 ]

4 голосов
/ 18 мая 2011

Вы можете использовать -webView:shouldStartLoadWithRequest:navigationType:.Создайте фиктивную ссылку, которую вы можете идентифицировать, и закройте веб-представление.Что касается обратного, ответ @ Паски звучит уместно.

2 голосов
/ 18 мая 2011

Может иметь огонь NSNotification при изменении поля экземпляра NSString.Используйте сообщение здесь , чтобы помочь понять, как общаться между JavaScript и Objective-C.

Тогда это просто вопрос уведомления и строковой логики:

Шаги дляJavaScript для Objective-C:

  1. Нажата кнопка веб-просмотра.
  2. Метод запуска JavaScript, который возвращает строку.
  3. Обновлена ​​локальная строка NSString для обозначения кнопки в веб-представлениибыла нажата (см. пост выше).
  4. NSNotification срабатывает на основе изменения строки.
  5. Objective-C закрывает веб-представление.

Не уверен, что вы хотитевернуться к веб-представлению из Objective-C, но приведенный выше пост должен помочь.

0 голосов
/ 02 октября 2012

Я думаю, что вместо этого лучше всего использовать псевдоизображение.

JS вставит новое изображение, например: http://example.com/callnative_1354524562763.gif?p1=v1&p2=v2

И ваше веб-представление будет переопределено NSURLCache для получения прозрачного 1x1Параметры изображения и синтаксического анализа вашего веб-контента.

Обратите внимание, что NSURLCache кэшируется только один раз, поэтому, пожалуйста, генерируйте новую временную метку для каждого вызова.

Этот способ работает для моего проекта и вызовародное приложение для iOS немедленно.

0 голосов
/ 18 мая 2011

Вы можете прикрепить любое действие, используя

- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script

, которое обнаружит JavaScript из вашего веб-просмотра!

Вот документ: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWebView_Class/Reference/Reference.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...