【发布时间】:2016-09-30 21:16:34
【问题描述】:
我正在尝试将 GPS 坐标传递给方法调用 setIOSNativeAppLocation。我有以下代码,但我收到此错误:
A JavaScript exception occurred"
UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=
ReferenceError:
Can't find variable: setIOSNativeAppLocation, WKJavaScriptExceptionSourceURL=
http://mywebsite.com, NSLocalizedDescription=
A JavaScript exception occurred, WKJavaScriptExceptionColumnNumber=24})
我不确定它是否与语法或其他任何事情有关。如果有人知道我做错了什么,我将不胜感激。
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
}
}
}
}
【问题讨论】:
-
你解决了这个问题吗?
-
@San 这与调用此方法时并非所有 javascript 文件都已加载这一事实有关。我只是使用局部变量来存储纬度和经度。如果你想在加载后执行,你需要添加一个观察者。这可能会有所帮助stackoverflow.com/questions/29603010/…
-
感谢您的信息。我有像你这样的类似要求,将一些数据从本机发送到 Angular js Web 应用程序。我设法通过像您所说的那样声明全局变量来解决它。 var updateAccessKey = function (accessKey){ console.log("从原生应用生成" + accessKey); }