Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift-WKWebView:Can';调用方法时找不到变量错误_Swift_Swift3_Wkwebview - Fatal编程技术网

Swift-WKWebView:Can';调用方法时找不到变量错误

Swift-WKWebView:Can';调用方法时找不到变量错误,swift,swift3,wkwebview,Swift,Swift3,Wkwebview,我正在尝试将GPS坐标传递给方法调用setIOSNativeAppLocation。我有以下代码,但我收到了此错误: A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage= ReferenceError: Can't find variable: setIOSNativeAppLocation, WKJavaScriptExceptio

我正在尝试将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})
我不确定这是否与语法或其他方面有关。如果有人知道我做错了什么,我会非常感激



我认为这可以帮助您解决问题——我们在这里传递参数的方式

我们应该把它放在单引号(“\(lat)”,\(lon))中,否则它就像一个变量

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文件有关。我只是使用了一个局部变量来存储lat和lon。如果你想在加载后执行,你需要添加一个观察器。这可能会有帮助,谢谢你的信息。我和你有类似的要求,需要将一些数据从native发送到angular js web应用程序。我通过像你说的那样声明全局变量来修复它。var updateAccessKey=function(accessKey){console.log(“从本机应用程序生成”+accessKey);}
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
     }
   }

 }

}