iphone: можно ли создать кнопку электронной почты в HTML для приложения eBook? - PullRequest
0 голосов
/ 28 декабря 2011

Я работаю над приложением для электронных книг. Я хочу поместить кнопку электронной почты в каждую главу. Книги представлены в формате HTML, и я загружаю эту HTML-страницу в WebView. Теперь есть ли способ создать кнопку электронной почты в HTML и передать действие этой кнопки в target-c? Или есть ли способ отправить содержание глав книги?

Ответы [ 2 ]

1 голос
/ 28 декабря 2011

Вы можете использовать JavaScript.

function drawButton(code){
    var body = document.getElementsByTagName("body")[0];
    var frame=document.createElement("div");
    var link=document.createElement("a");
    var image=document.createElement("img");

    image.src="btn-email.png";
    link.appendChild(image);
    link.href=sendmail(code);
    frame.appendChild(link);
    body.appendChild(frame);

}

это нарисует кнопку электронной почты в вашем html-документе, и вы можете вызвать ее из Obj C с помощью метода UIWebView stringByEvaluatingJavascriptFromString. В этом примере я передаю переменную «код», которая является первичным ключом элемента в основной базе данных. href создается через функцию sendmail (...), которая выглядит следующим образом (в моем коде) и снова использует «код» для создания уникальной ссылки.

function sendmail(code){
    var scheme="mail:"+code;
    return scheme;
}

это создаст пользовательскую схему, которая будет отправлена ​​на UIWebView в вашем приложении, когда пользователь нажмет на нее. с помощью метода делегата webViewShouldLoadRequest: вы можете захватить эту схему и использовать содержащуюся в ней информацию.

код может быть уникальным идентификатором книги в вашей базе данных или s.th. Когда пользователь нажимает на кнопку «Почта», mail: code_of_book получает отправку, и вы можете использовать этот код, чтобы открыть почтовое приложение с соответствующей книгой. это довольно легко на самом деле и довольно удобно.

Проверьте мой блог для получения дополнительной информации об этом, я написал неделю назад 2 учебника по использованию javascript в вашем веб-представлении и как общаться с Obj C.

http://howtomakeitinamsterdam.wordpress.com/

0 голосов
/ 28 декабря 2011

Установите делегата в UIWebView и реализуйте веб-представление: shouldStartLoadingWithRequest: метод navigationOptions.В этом методе вы можете запросить схему URL запроса, чтобы реализовать другое поведение для схемы mailto: - и затем использовать ссылки mailto: в вашем источнике HTML.Например, вы можете захотеть сделать [[UIApplication sharedApplication] openURL: ...], чтобы открыть внутренний mail.app (не проверял это, но уверен на 90%, что он будет работать).

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