Что делает loadHTMLString: baseURL: - PullRequest
6 голосов
/ 02 декабря 2011

Я новичок в программировании на iOS и попытался выяснить, что на самом деле делает loadHTMLString:baseURL:, но не могу найти удовлетворительного объяснения. Сайт Apple просто говорит:

Устанавливает содержимое главной страницы и базовый URL.

Может кто-нибудь объяснить мне более подробно?

Ответы [ 3 ]

4 голосов
/ 09 марта 2015

Я вполне уверен, что baseURL используется так же, как и на обычных веб-страницах, для правильной загрузки ресурсов, на которые ссылаются с помощью относительных ссылок. Теперь вопрос заключается в том, как установить этот базовый URL для определенной папки в каталоге приложения.

3 голосов
/ 02 декабря 2011

Это то, как в основном контент загружается в 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"]]]
1 голос
/ 27 июля 2016
- (void) loadHTMLString:(NSString *)string baseURL:(nullable NSURL *)baseURL; 

используется для загрузки локального HTML файла, строка параметра означает содержание html-файла, если ваш HTML файл содержит какой-либо тег href с относительным путем, вы должны установить параметр 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"];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...