2011-12-28 4 views
0

私はeBook app.Inに取り組んでいます。各チャプターに電子メールボタンを入れたいと思います.BooksはHTMLにあり、HTMLページをwebViewにロードしています。 これで、HTMLで電子メールボタンを作成し、そのボタンの操作をobjective-cにする方法はありますか? 書籍の章の内容を送信する方法はありますか?iphone:eBookアプリ用のHTMLで電子メールボタンを作成することは可能ですか?

+0

電子メールボタンをナビゲーションバーなどに追加することができます。これは、電子書籍アプリのトーンのようなものです。 –

答えて

1

あなたは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文書に電子メールボタンを描画します、あなたはstringByEvaluatingJavascriptFromStringのUIWebViewメソッドを使用して、OBJのCからそれを呼び出すことができます。この例では、コアデータベース内の要素の主キーである変数 "code"を渡します。 hrefは(私のコードで)このように見える "sendmail(...)"関数によって作成され、 "code"を使って一意のリンクを作成します。

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

これにより、ユーザがそれをタップするとアプリケーションのUIWebViewに送信されるカスタムスキームが作成されます。デリゲートメソッドwebViewShouldLoadRequestを使用すると、そのスキームを取得し、そのスキーム内の情報を使用することができます。

codeは、データベース内の書籍の一意のIDまたはs.thです。ユーザーがメールボタンを押すと、mail:code_of_bookが送信され、適切なブックが添付されたメールアプリケーションを開くよりも、そのコードを使用できます。その非常に簡単で実際には非常に便利です。

私は一週間前にあなたのWebビューではJavaScriptを使用して、約2つのチュートリアルを書いて、どのようにOBJのC.

のUIWebViewにデリゲートを設定し

http://howtomakeitinamsterdam.wordpress.com/

0

と通信するには、その詳細については、私のブログをチェックしてくださいwebview:shouldStartLoadingWithRequest:navigationOptionsメソッドを実装します。このメソッド内では、リクエストURLスキーマを照会して、mailto:scheme - に対して異なる動作を実装し、HTMLソースのmailto:リンクを使用することができます。例えば、あなたは[[UIApplication sharedApplication] openURL:...]を使って内部のmail.appを開くことができます(これはテストされていませんが、90%は動作すると確信しています)。

関連する問題