在Swift中获取UIWebView中的JS值,可以通过以下步骤实现:
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebView.NavigationType) -> Bool {
if let url = request.url, let scheme = url.scheme, scheme == "jsvalue" {
// 解析JS值
if let jsValue = url.host {
// 在这里处理获取到的JS值
print("JS值:\(jsValue)")
}
return false
}
return true
}
在UIWebView中,你可以通过使用自定义的URL scheme(例如"jsvalue")来传递JS值。当UIWebView加载一个带有自定义URL scheme的请求时,可以通过解析URL来获取JS值。
// 在JS中获取值并传递给Swift
var jsValue = "Hello, Swift!"
window.location.href = "jsvalue://" + jsValue
这样,当JS代码执行时,会触发UIWebView的代理方法,并获取到JS值。
需要注意的是,UIWebView已经在iOS 12中被废弃,推荐使用WKWebView来替代。以上代码示例适用于UIWebView,如果你使用的是WKWebView,可以相应地修改代理方法。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云