私の目的:アプリの中断(例えば、読み込まれた着信SMS)でウェブセッションを続けること。UIWebView incl。コンテンツのエンコード/デコード
アプローチA: 私はこのように、NSUserDefaults内のUIWebViewの内容を保存しようとしている:
NSData *webViewData = [NSKeyedArchiver archivedDataWithRootObject:webView];
[[NSUserDefaults standardUserDefaults] setObject:webViewData forKey:kDefaultsWebViewObjectKey];
して、好きそれを復元:
NSData *dta = [[NSUserDefaults standardUserDefaults] objectForKey:kDefaultsWebViewObjectKey];
webView = [NSKeyedUnarchiver unarchiveObjectWithData:dta];
が、それはしていません内容を含める。
アプローチB:それを保存し、再びそれを取得し、その後でのUIWebViewでそれを設定しようと
NSString *content = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML;"];
:
私はまたしてのUIWebViewの内容を取得しようとしています- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
しかし、innerHTMLのJavaScriptはコンテンツ全体を返していません。
アイデア、提案などはありますか?あなたはまた、スクロールやズームを復元する必要がありますスムーズな経験のために
NSString *content = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML;"];
:あなたの文書がすべてのリソースを参照していない(あるいはそう明示ん)、あなたはouterHTML復元することができるはず場合
不幸にも、空の文字列を返します –
これはdocument.documentElement.outerHTMLである必要があります – rpetrich