Подтвердить что ты не робот

Как загрузить локальный файл HTML в UIWebView?

Как мы можем загрузить наш собственный html файл в UIWebView?

4b9b3361

Ответ 1

Следующий код загрузит HTML файл с именем index.html в папку проекта:

[WebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];

Ответ 2

Коди Грей прав, но есть и этот способ:

// Load the html as a string from the file system
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSString *html = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

// Tell the web view to load it
[WebView loadHTMLString:html baseURL:[[NSBundle mainBundle] bundleURL]];

Это полезно, если вам нужно отредактировать html перед его загрузкой.

Ответ 3

Swift

    guard let path = NSBundle.mainBundle().pathForResource("index", ofType: "html") else {
        return
    }

    let url = NSURL(fileURLWithPath: path)
    self.webview.loadRequest(NSURLRequest(URL:url))

Ответ 4

Используя следующий код, вы можете загрузить html в WebView.here web - веб-представление obj и inde

Web.delegate = self;

[Web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];

Ответ 5

Swift Version 2.1

// load html to String with Encoding
let path = NSBundle.mainBundle().pathForResource("policy", ofType: "html")
do {
    let fileHtml = try NSString(contentsOfFile: path!, encoding: NSUTF8StringEncoding)
    webView.loadHTMLString(fileHtml as String, baseURL: nil)
}
catch {

}

Ответ 6

Документация Apple предлагает использовать loadHTMLString:baseURL::

Используйте loadHTMLString: baseURL: метод для начала загрузки локальных файлов HTML или метод loadRequest: начать загрузку веб-контента. Используйте метод stopLoading для остановки загрузки и свойство загрузки, чтобы узнать, находится ли веб-просмотр в процессе загрузки.

Документация loadHTMLString:baseURL: предлагает дополнительные аргументы:

Чтобы избежать уязвимости для атак безопасности, обязательно используйте этот метод для загрузки локальных файлов HTML; Не используйте loadRequest:.

Это может помочь: fooobar.com/questions/117566/...

Ответ 7

NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"privacy-Policy" ofType:@"html" inDirectory:nil];
NSData *htmlData = [NSData dataWithContentsOfFile:htmlFile];
[webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];