由于native和H5交互,要做到尽可能的体验同native一样,native端需要一些特殊设置(像设置web的字体、禁止一些手势操作等等):
funcwebView(webView:WKWebView, didFinishNavigation navigation:WKNavigation!) {
//QL1("\(webView.URL),\(navigation)")
myWebView.scrollView.mj_header.endRefreshing()
//设置webview格式
globalSetupWebViewContent(webView)
}
/**
设置加载后webview页面的内容样式
*/
func globalSetupWebViewContent(webView: WKWebView) {
//设置webview字体为苹方字体
if UIFont.familyNames().contains("PingFang SC") {
webView.evaluateJavaScript("document.getElementsByTagName('body')[0].style.fontFamily= 'PingFang HK'", completionHandler: nil)
}
//禁用webview的长按后弹框
webView.evaluateJavaScript("document.documentElement.style.webkitUserSelect='none';", completionHandler: nil)
//禁用webview的默认内置的手势
webView.evaluateJavaScript("document.documentElement.style.webkitTouchCallout='none';", completionHandler: nil)
//页面背景色,仔细看看这句话,有意想不到的效果
webView.evaluateJavaScript("document.getElementsByTagName('body')[0].style.background='#2E2E2E'", completionHandler: nil)
}
网友评论