本文介绍了Swift WKWebView:调用方法时找不到变量错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将 GPS 坐标传递给方法调用 setIOSNativeAppLocation.我在下面有以下代码,但出现此错误:
I am trying to pass GPS coordinates to a method call setIOSNativeAppLocation. I have the following code below but I am getting this error:
A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage= ReferenceError: Can't find variable: setIOSNativeAppLocation, WKJavaScriptExceptionSourceURL= mywebsite, NSLocalizedDescription= A JavaScript exception occurred, WKJavaScriptExceptionColumnNumber=24})我不确定它是否与语法或其他任何事情有关.如果有人知道我做错了什么,我将不胜感激.
I am not sure if it has something to do with the syntax or anything else. If someone knows what I am doing wrong I would greatly appreciate it.
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { if(myCurrentLoc != nil){ let lat = myCurrentLoc.coordinate.latitude let lon = myCurrentLoc.coordinate.longitude print(lat); print(lon); webView.evaluateJavaScript("setIOSNativeAppLocation(\(lat), \(lon));") { (result, error) in guard error == nil else { print("there was an error") print(error) return } } } } 推荐答案我认为这可以帮助你 - 我们在这里传递参数的方式.
I think this can help you out- The way we are passing parameter here.
我们应该把它放在单引号中('\(lat)', '\(lon)') 否则它就像一个变量.
we should put it in single quote('\(lat)', '\(lon)') else it will be like a variable.
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { if(myCurrentLoc != nil){ let lat = myCurrentLoc.coordinate.latitude let lon = myCurrentLoc.coordinate.longitude print(lat); print(lon); webView.evaluateJavaScript("setIOSNativeAppLocation('\(lat)', '\(lon)');") { (result, error) in guard error == nil else { print("there was an error") print(error) return } } } }更多推荐
Swift WKWebView:调用方法时找不到变量错误
发布评论