三种加载方式
webView.loadRequest()
webView.loadHTMLString()
webView.loadData()
第一种 加载网络链接
let url = NSURL(string: "http://ifeng.com")
let request = NSURLRequest(URL: url!)
webView.loadRequest(request)
第二种 加载HTML
let htmlStr = "<h1>这是一个标题</h1>"
webView.loadHTMLString(htmlStr, baseURL: nil)
第三种加载本地网页
//1.
let url = NSBundle.mainBundle().URLForResource("index", withExtension: "html")
let request = NSURLRequest(URL: url!)
webView.loadRequest(request)
//2.
let data = NSData(contentsOfURL: url!)
webView.loadData(data!, MIMEType: "text/html", textEncodingName: "utf-8", baseURL: NSURL())
self.view.addSubview(webView)
加载的时机
//1. 开始加载的时机
//2. 可以过滤网址
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
let path = request.URL?.absoluteString
print(path!)
if path!.containsString("baidu.com") {
return false
}
return true
}
func webViewDidStartLoad(webView: UIWebView) {
//
}
func webViewDidFinishLoad(webView: UIWebView) {
//如果需要操作网页,必须等加载完成
let res = webView.stringByEvaluatingJavaScriptFromString("document.getElementsByTagName('img')")
print(res)
//w3school.com.cn
}
func webView(webView: UIWebView, didFailLoadWithError error: NSError?) {
}
网友评论