如何在 Objective C 中使用 wkWebView 以参数执行 Javascript?
How do I execute Javascript with parameters using wkWebView in Objective C?
我目前正在尝试使用:
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");
}];
我目前正在尝试使用:
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");
}];