2017-09-19 4 views
0

私のアプリでは、リモートコンテンツをwebviewに表示しています。 テストのために、これらのページを静的にし、バンドル内のローカルファイルとして保存する必要があります。UIWebView - 表示されているとおりにHTMLをダンプします。

問題は、HTML本文がページを適切に表示するには不十分であることです。外部リソースとスクリプトが特定のドキュメントと共にフェッチされます。

私の質問は、表示されたページを既に書式設定された「現状のまま」、機能リンクなどでダンプできますか? そうなら、どうですか?

答えて

0

HTMLダンプはiOSの組み込み機能ではなく、UIWebViewの組み込み関数ではありません。 UIWebViewは純粋にエンドユーザにWebビューを表示することを意図しています。非常に簡単で、次のコードで何を後にしているために十分ではないかもしれない。このため

つの回避策:

NSString *yourHTMLSourceCodeString = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"];  

より詳細な解決策はないAPIを活用するのどちらかになりますこれはあなたのため、またはこれを処理する独自のAPIを作成してください。 1つの既製のソリューションはSymfonyです。

UPDATE

質問のアスカーは、彼がオフラインブラウザ機能ではなく、ダンピングfuncitonality後であることを明らかにしました。

マットレス(https://github.com/buzzfeed/mattress)と呼ばれるライブラリがあり、最小限のセットアップでこれを自動的に処理します。 MattressディスクキャッシュにWebページをキャッシュするには、URLCacheのdiskCacheURL:loadedHandler:メソッドを呼び出します。

+0

本当に何をお探しですか?私は[EVURLCache](https://github.com/evermeer/EVURLCache)に近いものを考えています。すべてのファイルを保存し、それらを復元することができます。 – kynleborg

+0

HTMLダンピングではなく、オフラインブラウザの後にいるように見えます。私はこれを反映するために私の答えを更新しました。 – Xenero

関連する問題