javascript - 如何在 Objective C 中使用 wkWebView 执行带参数的 Javascript?

标签 javascript objective-c wkwebview readiumjs

我目前正在尝试使用:

 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/

相关文章:

javascript - Phonegap文件上传: Empty request body & files

javascript - 从选项中过滤列中的数据使用 jQuery

javascript - 根据选中的单选按钮设置 div 的内容

iphone - 图像的全局唯一随机名称

objective-c - 从 Cocoa 中的文件中只读取 "N"字节

android - 在 WKWebView/UIWebView 中启用 WebRTC 支持

ios - WKWebView 显示灰色背景并且 pdf 内容在 viewcontroller 开关上变得不可见

javascript - jquery:无法在图像标签上触发点击事件

ios - 具有 204 响应且 Objective-C 中没有内容的 DELETE 请求的巨大延迟

ios - 在 iOS 中使用 WkWebView 和 Swift 不显示网页