使用 evaluateJavascript 方法在 Cordova 的 WKWebview 上设置本地图像



我有一个HTML文件,其中包含本地资源文件,如CSS, js文件内的内容。这些本地资源文件是zip格式的。我的应用程序使用Cordova的WKWebView来显示这个HTML文件。我试图在Cordova的WKWebView上的HTML图像元素之一上上传图像,该元素保存在本地,HTML不更新图像。我在本地HTML中有一个像这样的HTML图像标签。

<img id='image' style='display: block; height: 100%; width:100%; margin:0 auto;' />

在这个图像标签中加载的图像是在Cordova的WKWebview中加载本地HTML文件之后生成的。一旦图像生成,我试图更新图像标签与evaluate javascript方法,像这样。

NSData *imageData = UIImagePNGRepresentation(image);
NSString *base64Str = [imageData base64EncodedStringWithOptions:0];     
NSString *js = [NSString stringWithFormat:@"document.getElementById('image-id').src='data:image/png;base64,%@'",base64Str];
[self.wkWebView evaluateJavaScript:js completionHandler:nil];

它在正常的WKWebView上工作良好。是否有针对我的场景的变通解决方案?提前谢谢。

从文档中,看起来您需要使用CDVViewController并通过该控制器引用webView

我的理解是,这个webView参考使用了Cordova默认的webView引擎(作为cordova-ios@6默认为WKWebView)。

否则,您可能需要手动指定config.xml中的WKWebView对于旧版本的Cordova

最新更新