swift 笔记:iOS与JavaScript的交互(一):UIWebView - 3.2 native对协议链接拦截
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 笔记:iOS与JavaScript的交互(一):UIWebView - 3.2 native对协议链接拦截相关的知识,希望对你有一定的参考价值。
extension ViewController: UIWebViewDelegate {
func webView(_ webView: UIWebView,
shouldStartLoadWith request: URLRequest,
navigationType: UIWebViewNavigationType) -> Bool {
// 1 拦截名为 hello 协议;
if request.url?.scheme == "hello" {
// 2 获取协议后的 path,也就是lien;
let path = request.url?.absoluteString as String!
// 3 将 path 的 string 作为 window.alert() 方法的参数,
// 通过 webview.stringByEvaluatingJavaScript() 方法执行该 JavaScript 函数;
let msg = String(format: "alert('intercept scheme: %@')", path!)
webview.stringByEvaluatingJavaScript(from: msg)
// 4 因为拦截到了对应的hello 协议,在 delegate method 最终返回 false,
// 阻止 UIWebView 继续执行该请求(跳转了也是个 404)。
return false
}
return true
}
}
以上是关于swift 笔记:iOS与JavaScript的交互(一):UIWebView - 3.2 native对协议链接拦截的主要内容,如果未能解决你的问题,请参考以下文章
swift 笔记:iOS与JavaScript的交互(二):JavaScriptCore:11。暴露
swift 笔记:iOS与JavaScript的交互(二):JavaScriptCore:8。调用引入的JavaScript - 调用
swift 笔记:iOS与JavaScript的交互(二):JavaScriptCore:7。调用引入的JavaScript - 引入方法
swift 笔记:iOS与JavaScript的交互(三):WKWebView 2.显示加载进度
swift 笔记:iOS与JavaScript的交互(二):JavaScriptCore:14。 camelCase调用
swift 笔记:iOS与JavaScript的交互(一):UIWebView - 2.1 UIWebViewDelegate