UIWebViewDelegateの shouldStartLoadWithRequest を使ったアプリとの連携例を、先日アップした"UIWebViewで閲覧中のページ内の検索"に追加しました。
shouldStartLoadWithRequestはページ移動が発生したときに呼ばれ、基本的には移動を許すかどうかを判断するものですが、ここでアプリの処理を追加することができます。
リンク先のURLをrequestから取得し、それに基づいて処理を行います。
TheSearcher2にhashとprotocolを利用してアプリへの処理要求かどうかを判断し、JavaScriptでUIWebViewに表示する例を加えてあります。
・アイコンイメージをタップ
protocol=file://でurl末尾が".png"
アイコンイメージをstringByEvaluatingJavaScriptFromStringで切替
・"Home Directory"をタップ
TheSearcher2にhashとprotocolを利用してアプリへの処理要求かどうかを判断し、JavaScriptでUIWebViewに表示する例を加えてあります。
・アイコンイメージをタップ
protocol=file://でurl末尾が".png"
アイコンイメージをstringByEvaluatingJavaScriptFromStringで切替
・"Home Directory"をタップ
protocol=file://でhash="#homedir"
NSHomeDirectory()内のフォルダ一覧を作成し、stringByEvaluatingJavaScriptFromStringでdirDiv内に表示。
各フォルダの情報は<a>タグに設定、hrefにフルパスをセット。
protocolは"filename://"とする。
・フォルダ一覧のリンクをタップ
protocol="filename://"
protocol="filename://"
パス内のファイル、フォルダ一覧をstringByEvaluatingJavaScriptFromStringでdirDiv内に表示。
上記の場合に、NOを返し、ページ移動はキャンセルする。
0 件のコメント:
コメントを投稿