0

このコードフラグメント:

NSString *content = @"<html><head></head><body bgcolor=#AAAAAA></body></html>";
[wv loadHTMLString:content baseURL:[NSURL URLWtihString:@""];

上記で記述されたものを除いて、他のbaseURLでは機能しません(nilでも)。この動作により、webViewでローカルデータを使用できなくなります。誰かがこれについて何か助けになることができますか?他のbaseURLを設定した場合、コンテンツが読み込まれていません

4

1 に答える 1

2

コードで使用しているものを提案することは別として:

[webView loadHTMLString:[....
               baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

あまりできません。使用[[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent]は正しくありません。その方法では、アプリバンドルの外側に移動しているためですが、多くのバリエーションを試していると言っているので、何ができるかわかりません。

で何が起こるかを試してトラブルシューティングしたい場合はbaseURL、オーバーライドwebView:shouldStartLoadWithRequest:して、Webビューが開こうとしているファイルを確認してください。

編集:

アプリのライブラリフォルダーにアクセスする必要がある場合は、これが方法です(ソース

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libraryDirectory = [paths objectAtIndex:0];
[webView loadHTMLString:[....
               baseURL:[NSURL fileURLWithPath:libraryDirectory]];

とにかく、あなたのコメントから:「それらは以前に私のアプリによってダウンロードされました」、あなたはすでにそこに行く方法を知っているはずです...とにかく、私はあなたがどのファイルにアクセスしようとしているのかをもう一度確認することをお勧めしますwebView:shouldStartLoadWithRequest:...

于 2011-08-16T14:46:48.937 に答える