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

时间:2016-06-15 20:29:26

标签: javascript swift wkwebview

我正在使用WKWebView Scrip Message Handler在我的Swift项目中运行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\");");
            }
        })

0 个答案:

没有答案