iOS WKWebView调用js 传多参实现
时间: 2023-11-27 10:04:34 浏览: 35
在iOS中,通过WKWebView调用JS并传递多个参数的实现步骤如下:
1. 在JS代码中定义需要调用的函数,并将需要传递的参数作为函数的参数。
例如,定义一个名为testFunc的函数,该函数有两个参数param1和param2:
```
function testFunc(param1, param2) {
// ...
}
```
2. 在iOS中,通过WKWebView的evaluateJavaScript方法调用JS函数并传递参数。
例如,调用上述testFunc函数并传递参数值为"hello"和"world"的示例代码如下:
```
NSString *jsFunction = [NSString stringWithFormat:@"testFunc('%@', '%@')", @"hello", @"world"];
[webView evaluateJavaScript:jsFunction completionHandler:^(id _Nullable result, NSError * _Nullable error) {
// ...
}];
```
其中,NSString *jsFunction为需要调用的JS函数及其参数的字符串形式,evaluateJavaScript方法会将该字符串作为JS代码执行。
在上述代码中,使用NSString的stringWithFormat方法拼接JS函数及其参数的字符串形式,并将该字符串作为evaluateJavaScript方法的参数传入。注意,由于JS中字符串需使用单引号括起来,所以需要在NSString的格式化字符串中使用单引号。
3. 在JS中,通过arguments对象获取传递的参数。
例如,在上述testFunc函数中获取参数值的示例代码如下:
```
function testFunc(param1, param2) {
console.log(arguments[0]); // 输出"hello"
console.log(arguments[1]); // 输出"world"
}
```
通过arguments对象可以获取传递的参数值,其下标从0开始。
通过以上步骤,即可在iOS中调用JS函数并传递多个参数。注意,如果需要传递的参数较多,可以使用数组等数据结构来进行传递。