博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WKWebView不显示提示框(Swift)
阅读量:5988 次
发布时间:2019-06-20

本文共 1520 字,大约阅读时间需要 5 分钟。

使用WKWebView的时候会出现明明自己做的一些页面有提示框, 为什么使用别人的页面提示框总是不显示, 其实很大部分原因是因为该提示框是通过JS调用的, 需要实现WKUIDelegate来进行监听

// MARK: - WKUIDelegate        // 监听通过JS调用警告框    func webView(_ webView: WKWebView, runJavaScriptAlertPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping () -> Void) {        let alert = UIAlertController(title: nil, message: message, preferredStyle: .alert)        alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { (action) in            completionHandler()        }))        self.present(alert, animated: true, completion: nil)    }        // 监听通过JS调用提示框    func webView(_ webView: WKWebView, runJavaScriptConfirmPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping (Bool) -> Void) {        let alert = UIAlertController(title: nil, message: message, preferredStyle: .alert)        alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { (action) in            completionHandler(true)        }))        alert.addAction(UIAlertAction(title: "Cancel", style: .default, handler: { (action) in            completionHandler(false)        }))        self.present(alert, animated: true, completion: nil)    }        // 监听JS调用输入框    func webView(_ webView: WKWebView, runJavaScriptTextInputPanelWithPrompt prompt: String, defaultText: String?, initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping (String?) -> Void) {        // 类似上面两个方法    }

  这里需要注意, completionHandler一定要调用, 否则会出错!

转载地址:http://nynlx.baihongyu.com/

你可能感兴趣的文章
Linux怎样创建FTP服务器
查看>>
魏武挥:那些出走的媒体人们
查看>>
GIt分支
查看>>
一次由ip_conntrack跟踪连接库满导致的大量丢包现象排除
查看>>
Mongodb的安装与CRUD操作
查看>>
C#实战-圆半径
查看>>
我的友情链接
查看>>
Cocos2d-x for WindowsPhone:从开始到一个场景再一张图片
查看>>
windows 2008 FTP登录报错
查看>>
CentOS 6.5搭建本地OpenStack软件源
查看>>
Cobbler实现自动化批量安装Linux系统系列一:安装先决性组件篇
查看>>
支付宝api指南
查看>>
Windows bat脚本的for语句
查看>>
单片mongoDB
查看>>
LNMP-源码 PHP7
查看>>
简单干净的C#方法设计案例:SFCUI.AjaxValue()之三
查看>>
敏捷开发免费管理工具——火星人预览之五:常见问题问答
查看>>
敏捷开发一千零一问系列之十四:敏捷开发加班吗?
查看>>
文档:Windows Server 2012群集-移动虚拟机存储至共享
查看>>
sendmail
查看>>