私はiOSプログラミングを初めて学び、loadHTMLString:baseURL:
が実際に何を理解しようとしましたが、満足のいく説明が見つかりません。 Appleのサイトでは、次のように述べています。loadHTMLStringとは何ですか:baseURL:
メインページのコンテンツとベースURLを設定します。
誰かが私にこれをより詳細に説明できますか?
私はiOSプログラミングを初めて学び、loadHTMLString:baseURL:
が実際に何を理解しようとしましたが、満足のいく説明が見つかりません。 Appleのサイトでは、次のように述べています。loadHTMLStringとは何ですか:baseURL:
メインページのコンテンツとベースURLを設定します。
誰かが私にこれをより詳細に説明できますか?
主にコンテンツがwebViewに読み込まれる方法です。ローカルhtmlファイルかurlのどちらかを使用します。
//this is to load local html file. Read the file & give the file contents to webview.
[webView loadHTMLString:someHTMLstring baseURL:[NSURL URLWithString:@""]];
//if webview loads content through a url then
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]]]
私はベースURLが適切に相対リンクを使用して参照されressourcesをロードするために、通常のWebページで同じように使用されていることをかなり確信しています。今、問題は、その基本URLをappディレクトリ内の特定のフォルダに設定する方法です。
- (void) loadHTMLString:(NSString *)string baseURL:(nullable NSURL *)baseURL;
は、あなたのHTML
ファイルが相対パスで、いくつかのhref
タグが含まれている場合、パラメータ文字列は、htmlファイルの内容を意味し、あなたがHTML
ファイルのベースアドレスとパラメータbaseUrl
を設定する必要があり、ローカルHTML
ファイルをロードするために使用されますnil
に設定してください。
NSString *cachePath = [self cachePath];
NSString *indexHTMLPath = [NSString stringWithFormat:@"%@/index.html", cachePath];
if ([self fileIsExsit:indexHTMLPath]) {
NSString *htmlCont = [NSString stringWithContentsOfFile:indexHTMLPath
encoding:NSUTF8StringEncoding
error:nil];
NSURL *baseURL = [NSURL fileURLWithPath:cachePath];
[self.webView loadHTMLString:htmlCont baseURL:baseURL];
}
- (NSString *)cachePath
{
NSArray* cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
return [cachePath[0] stringByAppendingPathComponent:@"movie"];
}
ローカルファイルをロードする場合は、@ ""を@ index.htmlに置き換えることができます。右? – MACMAN