Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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访问JavaScript全局变量,并使用JSContext更改其值_Javascript_Swift_Wkwebview - Fatal编程技术网

从Swift访问JavaScript全局变量,并使用JSContext更改其值

从Swift访问JavaScript全局变量,并使用JSContext更改其值,javascript,swift,wkwebview,Javascript,Swift,Wkwebview,我在Swift项目中使用WKWebView Scrip消息处理程序运行JS的功能。 但是,我需要在我调用的一些函数中返回JSON值。 我所做的是使用JS检查HTML中的全局变量,现在我需要设置值 我通过使用EvaluateJavaScript实现了这一点,但这对我来说并不好,因为当我处理其他JS函数时,值不能更改 我正在寻找一种方法来访问全局变量,并使用JSContext更改其值—是否可能。 我也有其他选择 这是我现在用来设置变量的代码: mainWebView?.evaluateJavaS

我在Swift项目中使用WKWebView Scrip消息处理程序运行JS的功能。 但是,我需要在我调用的一些函数中返回JSON值。 我所做的是使用JS检查HTML中的全局变量,现在我需要设置值

我通过使用EvaluateJavaScript实现了这一点,但这对我来说并不好,因为当我处理其他JS函数时,值不能更改

我正在寻找一种方法来访问全局变量,并使用JSContext更改其值—是否可能。 我也有其他选择

这是我现在用来设置变量的代码:

  mainWebView?.evaluateJavaScript(stringToEvaluate, completionHandler: { (objevt: AnyObject?, error: NSError?) in
            if ((error) == nil){
                print("Error: %@",error?.description);
            }
            else{

                self.mainWebView?.evaluateJavaScript("console.log(\"JSON Returned Sucsessfully\");", completionHandler:nil)
                context.evaluateScript("console.log(\"JSON Returned Sucsessfully\");");
            }
        })