1、配置WKWebView
1 | // 初始化config |
2、加载本地html文件
1 | NSString *path = [[NSBundle mainBundle] pathForResource:@"XXX.html" ofType:nil]; |
3、加载url
1 | NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL fileURLWithPath:path] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30]; |
4、适配文本大小
1 | NSString *jSString = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);"; |
5、js调用OC方法(无参数)
1 | // 注册js回调 |
1 | // js代码 |
6、js调用OC方法(带参数)
1 | // 注册js回调 |
1 | // js代码 |
7、监听网页加载进度和标题
1 | // 利用KVO实现 |
8、WKNavigationDelegate代理相关
1 | // 页面开始加载时调用 |
9、WKUIDelegate代理相关
- 提示框
1 | // 提示框 |
1 | function alertToOC() { |
- 确认框
1 | // 确认框 |
1 | function confirmToOC() { |
- 输入框
1 | // 输入框 |
1 | function showPrompt() { |
- 新窗口处理
1 | // 需要从新窗口中加载网页时(target = _blank) |
1 | <p> <a href="https://www.baidu.com" target="_blank" >打开新窗口</a> </p> |