我有一个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