Làm cách nào để chúng tôi có thể tải tệp html của riêng mình vào UIWebView?Làm cách nào để tải tệp HTML cục bộ vào UIWebView?
Trả lời
Đoạn mã dưới đây sẽ được tải một file HTML có tên index.html
trong thư mục dự án của bạn:
[WebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
Tài liệu của Apple gợi ý rằng việc sử dụng phương pháp này để tải HTML cục bộ không an toàn: '' 'Để giúp bạn tránh bị dễ bị tấn công bảo mật, hãy sử dụng phương pháp này để tải các tệp HTML cục bộ; không sử dụng loadRequest: .''' Tôi đã ghi lại đề xuất của họ ('loadHTMLString: baseURL:') trong câu trả lời của tôi bên dưới. –
Vâng, nó đã không nói rằng 5 năm trước khi tôi đăng câu trả lời này. Luôn luôn tốt để đọc tài liệu. Tôi sẽ xóa nó, nhưng đó là câu trả lời được chấp nhận và rõ ràng đã giúp rất nhiều người. –
Cody Grey là đúng nhưng cũng có cách này:
// 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]];
này rất hữu ích nếu bạn cần phải chỉnh sửa html trước khi bạn tải nó.
Bạn nói đúng nhưng tôi sẽ chuyển '[NSURL fileURLWithPath: [[NSBundle mainBundle] bundlePath]]' thay vì 'nil' cho' baseURL'. – Jilouc
Ah có - Tôi không nhớ về việc tải các tài nguyên khác từ html. Tôi đã chỉnh sửa câu trả lời của tôi, cảm ơn! – deanWombourne
Tôi muốn chuyển [[NSBundle mainBundle] bundleUrl] –
Bằng cách sử dụng mã sau bạn có thể tải một html trong một web WebView.here là xem web obj và inde
Web.delegate = self;
[Web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
Swift
guard let path = NSBundle.mainBundle().pathForResource("index", ofType: "html") else {
return
}
let url = NSURL(fileURLWithPath: path)
self.webview.loadRequest(NSURLRequest(URL:url))
Swift phiên bản 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 {
}
Apple d ocumentation đề xuất sử dụng loadHTMLString:baseURL:
:
Sử dụng tảiHTMLString: baseURL: phương pháp để bắt đầu tải tệp HTML cục bộ hoặc phương thức loadRequest: để bắt đầu tải nội dung web. Sử dụng phương pháp stopLoading để dừng tải và thuộc tính tải để tìm hiểu xem một lượt xem web có đang tải không.
Các tài liệu loadHTMLString:baseURL:
cung cấp lý luận thêm:
Để giúp bạn tránh bị dễ bị tấn công an ninh, hãy chắc chắn để sử dụng phương pháp này để tải các tập tin HTML địa phương; không sử dụng loadRequest :.
một này có thể giúp: https://stackoverflow.com/a/29741277
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:@""]];
- 1. Làm thế nào để nhúng một tệp video cục bộ vào Html để phát trong UIWebView?
- 2. Tải UIWebView bằng tệp cục bộ CSS
- 3. Làm cách nào để tải tệp html cục bộ vào Jsoup?
- 4. Tải HTML cục bộ vào WebView
- 5. UIWebView tải dữ liệu video cục bộ
- 6. Duy trì cấu trúc thư mục khi tải các tệp cục bộ vào UIWebview trên iPhone
- 7. Gửi tham số đến tệp cục bộ trong UIWebView
- 8. Tải tệp JSON cục bộ vào biến
- 9. Có cách nào để tải tệp JS cục bộ không?
- 10. Độ trễ UIWebView khi tải nội dung cục bộ
- 11. Tự động tải các tệp javascript trong UIWebView với bộ đệm cục bộ không hoạt động
- 12. Cách chạy tệp HTML + javascript chạy trên UIWebView. .?
- 13. Làm cách nào để tải tệp cục bộ bằng jQuery? (có tệp: //)
- 14. Làm cách nào để truy cập và đọc tệp cục bộ từ trang html + javascript chạy cục bộ
- 15. Làm cách nào để đọc/phát tệp mà không tải toàn bộ tệp vào bộ nhớ?
- 16. Đang tải NSData vào UIWebView
- 17. Sử dụng hình ảnh Retina trong UIWebView cục bộ
- 18. Cách tải các tệp JSON cục bộ trong Javascript
- 19. Cách tải tệp cục bộ lên mô hình Carrierwave?
- 20. WebView miền chéo Javascript từ tệp HTML cục bộ
- 21. Làm cách nào để biết tệp trên FTP giống với tệp cục bộ có thực sự tải xuống tệp không?
- 22. Làm cách nào để hiển thị HTML cục bộ trong QWebview?
- 23. Xcode & WebView: Tải html cục bộ nếu không có kết nối internet (dự phòng)
- 24. Làm cách nào để tải mã javascript vào một tệp html khi chạy?
- 25. Làm cách nào để nhúng tệp .mov vào HTML?
- 26. làm cách nào để nhúng tệp html vào mã php?
- 27. Tệp html cục bộ AJAX Cuộc gọi và jQuery Woes
- 28. Làm cách nào để xóa bộ nhớ cache của UIWebView?
- 29. Làm cách nào để tải flash để tải lại trang HTML gốc được nhúng vào?
- 30. Làm cách nào để loại bỏ bàn phím trên UIWebView?
http://stackoverflow.com/questions/7063276/how-to-load-local-html-file-into-uiwebview-iphone/24159166# 24159166 – iGo