UIWebView使用方法:
(1)获取加载页面的Url地址,加载开始,加载完成,加载失败的监听
让当前的ViewController实现UIWebViewDelegate代理然后实现代理中的方法:
//使用UIWebView代理方法
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
print(request.URL)
if request.URL!.absoluteString.hasPrefix("app://") {
//解析app://report?userId=0001逻辑
return false
}
return true
}
func webViewDidStartLoad(webView: UIWebView) {
//开始加载
//activityLoadingView.startAnimating()
// print(self.artworkWebView.request?.URL?.absoluteString)
}
func webView(webView: UIWebView, didFailLoadWithError error: NSError?) {
//加载失败
}
func webViewDidFinishLoad(webView: UIWebView) {
//加载成功,加载完成
// activityLoadingView.stopAnimating()
}
别忘了在viewDidLoad()方法中设置
ziXunWebView.delegate =self
WKWebView使用方法:
导入包
import WebKit
实现代理WKUIDelegate,WKNavigationDelegate,WKScriptMessageHandler
如果不用到js交互,第三个代理WKScriptMessageHandler可以不用实习
实现代理方法:
// WKWebView的代理方法
func userContentController(userContentController:WKUserContentController, didReceiveScriptMessage message:WKScriptMessage) {
}
func webView(webView:WKWebView, didStartProvisionalNavigation navigation:WKNavigation!) {
//开始加载
}
func webView(webView:WKWebView, didFinishNavigation navigation:WKNavigation!) {
//加载完成
}
overridefunc didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
WKWebView获取当前网页的url:
func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction:WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) ->Void) {
//var url:NSURL = navigationAction.request.URL!;
//var urlstring:NSString = url.absoluteString
var urlString:NSString! = navigationAction.request.URL?.absoluteString
/*
if (navigationAction.navigationType == WKNavigationType.LinkActivated && !navigationAction.request.URL!.host!.lowercaseString.hasPrefix("http://app.manyiaby.com/")) {
print("fefe")
UIApplication.sharedApplication().openURL(navigationAction.request.URL!)
decisionHandler(WKNavigationActionPolicy.Cancel)
} else {
decisionHandler(WKNavigationActionPolicy.Allow)
}
*/
decisionHandler(WKNavigationActionPolicy.Allow)//一定要加上这一句代码不然会出异常
}
获取wkWebView获取当前的title:
http://www.cnblogs.com/tangyuanby2/p/5377213.html别忘了在viewDidLoad()方法中设置
ziXunWebView.delegate = self
参考:
http://www.jianshu.com/p/8f6d527f13bc
http://blog.youkuaiyun.com/zhaoweixing1989/article/details/13021513
参考:
http://www.jianshu.com/p/d29384454a9a