4

メインバンドルに大きな.htmファイルがあり、webview にロードしたいです。URL の末尾にフラグメント ID を追加するまでは問題ありません。#cボタンを押すとアンカーIDでWebビューが開くようにします。

ところで: URL http://www.mydomain.com/database.htm#cを作成し、これをインターネットからロードするとします。すべてが良いです。

私はいくつかのアプローチを試しました。どちらも失敗しました。サーバー側がインターネット上の URL の解析を行っていると思いますが、iPhone にはその機能がありません。誰か提案がありますか?可能であれば、例を挙げて明示してください。私は初心者で、一人でいます。

困惑

 NSString *path         = [[NSBundle mainBundle] pathForResource:@"database1.htm" ofType:nil];
 NSString *pathWithFrag = [NSString stringWithFormat:@"%@%@%",path, @"#c"];
 NSURL *baseURL         = [ NSURL fileURLWithPath:pathWithFrag];
 [spinner2 loadRequest:[NSURLRequest requestWithURL:baseURL]];
 [super viewDidLoad];   

また

 NSString *path  = [[NSBundle mainBundle] pathForResource:@"database1.htm" ofType:nil];
 NSURL *baseURL  = [ NSURL fileURLWithPath:path];
 NSURL *newURL   = [baseURL URLByAppendingPathComponent:@"#c"];
 [spinner2 loadRequest:[NSURLRequest requestWithURL:newURL]];
 [super viewDidLoad];
4

2 に答える 2

3

「#」文字をエスケープする NSURL URL に問題があるようです: http://9mmedia.com/blog/?p=299

そのブログ投稿の方法に従うと、次のようなものが機能する可能性があります。

NSString *path = [[NSBundle mainBundle] pathForResource:@"database1.htm" ofType:nil];
NSURL *baseURL = [NSURL fileURLWithPath:path];
NSURL *fullURL = [NSURL URLWithString:@"#c" relativeToURL:baseURL];
[spinner2 loadRequest:[NSURLRequest requestWithURL:fullURL]];
[super viewDidLoad];
于 2011-05-01T16:44:28.043 に答える
0

フォーマットの余分なもの%pathWithFrag問題を引き起こしている可能性があります:試してみ@"%@%@"てください@"%@%@%"

于 2011-04-29T17:54:10.083 に答える