0

私の iPhone アプリには、UIWebView を含む情報ページがあり、それを私のウェブサイトの情報ページに示しました。

NSString *urlAddress = @"http://www.toneme.org/Software";
NSURL *url = [NSURL URLWithString: urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL: url];

[self.webView loadRequest:requestObj];

ただし、ユーザーがアプリをロードするたびに、データが取得されるまで何年もの間、空白の画面が表示されます。これは良くない。

バックグラウンドで新しいバージョンを取得しようとしている間に、最後に読み込まれたページを表示する方がはるかに優れています。しかし、これをきれいに行う方法がわかりません。誰かが私を始めることができますか?

2 番目の質問: Web ページには 3 つのペインが含まれているため、iPhone の場合、この Web ページを UIWebView に表示することは実用的ではありません。全体が収まりません。私は本当にページからテキストを抽出したい。これを行うクリーンな方法はありますか?本体のみダウンロードしたいという指定はできますか?

ページ全体が単一の文字列として返されると推測しているので、テキストの周りに自家製のタグをいくつか付ければ、テキストを手動で抽出するのが簡単になるでしょう...

4

3 に答える 3

1

解析可能な形式 (JSON、XML など) でテキストを提供する HTTP API を提供するすてきできれいに表示するデータ。:)

データの保存に関しては、データをアプリケーションの Documents ディレクトリに保存するクラスを作成し、サーバーの http ヘッダー情報を参照して、ファイルを再ダウンロードする必要があるかどうか、または既にダウンロードされているかどうかを確認してください。日付 (これは理想的には etags を使用して実行できますが、インフラストラクチャで etags がサポートされていない場合は最終更新日になります)。

于 2010-11-22T00:59:37.007 に答える
1

自分でこれを行うことは確かに可能ですが、正しく行うにはかなりの作業が必要なため、AsiHTTPRequest と特に ASIWebPageRequestを確認することをお勧めします。

HTH

于 2010-11-22T01:06:24.323 に答える
0

UIWebView のコンテンツと URL データをファイルに保存して、デリゲート webViewDidFinishLoad メソッドで再利用できるようにする必要があります。

NSString *myHtml = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"];
于 2010-11-22T03:00:40.047 に答える