我目前正在尝试使用:
NSString* arg = [NSString stringWithFormat:@"ReadiumSDK.reader.openSpineItemElementCfi(%@,%@,)", val1,val2];
[self executeJavaScript:arg completionHandler:nil];
但这会引发错误。
最佳答案
我总是从 WkWebView 将参数传递到 javascript 函数中:
一个问题可能是您的参数需要位于单引号内,并且末尾有一个额外的 , :“ReadiumSDK.reader.openSpineItemElementCfi('%@','%@')”
关键是以与在浏览器中的开发人员控制台中完全相同的方式调用该函数:
我将在 Chrome 开发者工具中输入以下示例:SomeFunction('stringParameter')
NSString *someParameter = @"stringParameter";
NSString *javascript = [NSString stringWithFormat:@"SomeFunction('%@')", someParameter];
[wkWebView evaluateJavaScript:javascript completionHandler:^(NSString *result, NSError *error) {
if(error != nil) {
NSLog(@"SomeFunction Error: %@",error);
return;
}
NSLog(@" SomeFunction Success");
}];
关于javascript - 如何在 Objective C 中使用 wkWebView 执行带参数的 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41458127/