我正在使用Swift在UIWebView
中注入脚本。当发生某些轻击操作时,脚本将负责处理。发生这种情况时,JavaScript应该调用Swift中的一个函数,它将从JavaScript发送的数据保存在本机变量中。请帮我打电话。
答案 0 :(得分:1)
为此,您需要从JavaScript文件进行回调,我在其中使用了一个JavaScript编辑器,这是代码:-
window.location = "callback://0/"+ pass your value here
在您的快捷文件中,使用UIWebViewDelegate:-
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
let urlString = request.url?.absoluteString
//NSLog(@"web request");
//NSLog(@"%@", urlString);
if ((urlString?.range(of: "callback://0/")) != nil) {
// We recieved the callback
let value = urlString?.replacingOccurrences(of: "callback://0/", with: "")
}
}