web-dev-qa-db-ja.com

ローカルHTMLファイルをUIWebViewにロードするにはどうすればよいですか?

独自のhtmlファイルをUIWebViewにロードするにはどうすればよいですか?

25
RAMAN RANA

次のコードは、プロジェクトフォルダーにindex.htmlという名前のHTMLファイルを読み込みます。

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

コーディグレイは正しいですが、この方法もあります:

// 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を編集する必要がある場合に役立ちます。

28
deanWombourne

スウィフト

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

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

次のコードを使用すると、WebViewにHTMLを読み込むことができます。

Web.delegate = self;

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

AppleのドキュメントではloadHTMLString:baseURL:

LoadHTMLString:baseURL:メソッドを使用してローカルHTMLファイルのロードを開始するか、loadRequest:メソッドを使用してWebコンテンツのロードを開始します。 stopLoadingメソッドを使用して読み込みを停止し、loadingプロパティを使用して、Webビューが読み込み中かどうかを確認します。

loadHTMLString:baseURL:ドキュメントには、さらに推論があります。

セキュリティ攻撃に対する脆弱性を回避するために、このメソッドを使用してローカルHTMLファイルをロードしてください。 loadRequest:は使用しないでください。

これは役立つかもしれません: https://stackoverflow.com/a/29741277

1
siege_Perilous
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:@""]];
0
Nupur Gupta

Swiftバージョン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 {

}
0
Sruit A.Suk