iOS原生和H5交互是挺常见的,尤其是需要在H5页面渲染前传递参数给H5,用到的方式记录下,防止后续再有类似的情况。
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
NSString *yourData = @"your_data"; // 指定的数据
NSString *scriptString = [NSString stringWithFormat:@"var customData = '%@';", yourData];
WKUserScript *userScript = [[WKUserScript alloc] initWithSource:scriptString injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES];
[configuration.userContentController addUserScript:userScript];
其中yourData必须是字符串,想要传字典就必须要转成字符串。customData是自定义名称,H5端也需要名称统一。