Откройте Mail.app на IPhone с веб-страницы, ВНУТРИ приложения.

наше приложение загружает страницы профиля с нашего веб-сайта ВНУТРИ приложения. Они были оптимизированы для iPhone css, но по-прежнему представляют собой html-страницу. Наша ссылка mailto не работает должным образом. При нажатии ничего не происходит. Однако при нажатии и удерживании (нажатие и удерживание) меню выскакивает вверх с надписью «новое сообщение», «создать новый контакт», «копировать» и т. Д.

Как это нужно отформатировать, чтобы приложение Mail.app запускалось автоматически?

<a class="action_bubble" target="_blank" rel="external" href="mailto:[email protected]">Send Email</a>

Ссылка "звонок" работает должным образом.

<a class="action_bubble" href="tel:1234567890">Call</a>

Итак, не знаю, что с этим делать ...


person hogsolo    schedule 25.02.2011    source источник


Ответы (4)


Вот проект на GitHub, который решает вашу проблему. По сути, когда вы используете контроллер UIWebView, вам необходимо решить, как управлять ссылками с помощью обработчика делегата для UIWebView. В Interface Builder вы можете настроить автоматическое распознавание телефонных номеров, поэтому, вероятно, именно поэтому ваши номера телефонов работают, и он будет распознавать http ссылки как поведение по умолчанию. Однако mailto и некоторые другие специальные href параметры нужно будет обрабатывать вручную.

person Walter    schedule 25.02.2011

убедитесь, что для вашего UIWebView установлено свойство «Обнаружение», например «Телефон», «Адрес». вы можете установить его со своего IB.

или из кода

self.webView.dataDetectorTypes = UIDataDetectorTypeAll;

person Nnp    schedule 25.02.2011
comment
Элементы (адрес, события, ссылки) не проверялись, поэтому я проверил их, а затем перестроил и протестировал на устройстве без изменений. Телефонные ссылки работают, остальные - нет. Ну, в любом случае, не так, как ожидалось, ссылка на карту поднимает карту внутри приложения, а не в приложении карты, и электронное письмо будет перемещаться вверх по панели, ЕСЛИ вы удерживаете кнопку достаточно долго ... - person hogsolo; 04.03.2011

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

Я только что протестировал на устройстве: ваш код работает.

person Nick Weaver    schedule 25.02.2011
comment
Другой член команды занимается разработкой приложения, я просто создавал веб-страницу, которую оно вызывает. Похоже, я собираюсь получить лицензию разработчика и начать создавать приложения для iPhone ... - person hogsolo; 26.02.2011
comment
Ваш код работает: это симулятор. Протестируйте на устройстве, и оно будет работать. - person Nick Weaver; 28.02.2011
comment
Я не был на симуляторе, я был в приложении на своем телефоне ... но рад узнать, что это не МОЙ код. - person hogsolo; 01.03.2011

Немного поздно на вечеринку, но я узнал следующее:

  1. В iOS есть несколько странных способов работы с веб-контентом
  2. НЕ инкапсулируйте свой адрес электронной почты в тег A, просто поместите его в виде обычного текста.
  3. Убедитесь, что в вашей раскадровке (если вы ее используете) в webView проверено свойство Addresses, и все готово ... то же самое касается номеров телефонов.
person Herc    schedule 11.02.2014