2012-04-24 11 views
1

にURLパラメータを使用してHTMLファイルをロードする:私は私のMac OSXアプリでWebViewのにHTMLファイルをロードするには、次を使用していますココア(ないiPhone)のWebView

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"html"]; 
NSURL *fileURL = [NSURL fileURLWithPath:filePath]; 
NSURLRequest *request = [NSURLRequest requestWithURL:fileURL]; 
[[WebView mainFrame] loadRequest:request]; 

これは正常に動作します。..私がする必要があるのは、同じファイルにいくつかのURLパラメータ(例えばfoo.html?var=bar)が添付されていることです。私はfileURLにURLByAppendingPathExtension:を使用してみましたが、何のサイコロが...

答えて

0
NSString *filePath = ... 
filePath = [filePath stringByAppendingFormat:@"?var=%@", @"bar"]; 
NSURL *fileURL = [NSURL fileURLWithPath:filePath]; 
... 
+0

、しかし:あなたはおそらくのような何かをしたい、あなたの場合は

NSURL* fileURL = [NSURL URLWithString:@"file://localhost/Users/you/Desktop/foo.html?bar=foobar"]; 

は、それはちょうどfoo.htmlの部分に沿って渡っています... –

2

問題はURLがクエリ文字列をサポートしていないfileURLWithPath:メソッドを使用して作成したということではない、として一般的にクエリ文字列は、ファイルを参照するURLのためにも意味がありませんディスク上に。

URLパラメータをWebページのコードに渡す場合は、ローカルWebサーバーを実行し、http://スキームURLを使用することを強くお勧めします。私の意見では、WebViewのクエリ文字列をfile://でサポートすることは、壊れやすいことです。

あなたは、このようURLWithString:メソッドを使用してURLを作成することができ、それが動作します、言った:ありがとう

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"html"]; 
NSString* URLString = [NSString stringWithFormat:@"file://localhost%@?var=%@", filePath, @"bar"]; 
NSURL* fileURL = [NSURL URLWithString:URLString]; 
+0

申し訳ありませんが、2行目にタイプミスがありました。一定。これはブラウザにコードを書くときに起こります! –

+0

これで違いはありません。 'URLString'をロギングしてみてください。何を手に入れますか? –

+0

'NSString(@"%@ "、URLString);' 'URLString'の後の行に宣言されています。 –

関連する問題