我在展示html文件使用WKWebView...打开另一个预加载时会发生此问题。WKWebView从主WKWebView有时在显示一个白色屏幕后。当你看到屏幕,它就会闪烁。
Main.js
$(document).ready(function(){
var data = {
apiType : "preload",
parameter : encodeURI(`view/other?value="testvalue"`)
}
webkit.messageHandlers.TestApp.postMessage(data);
...
$('#openBtn').on('click', function(){
var data = {
apiType : "openOther"
}
webkit.messageHandlers.TestApp.postMessage(data);
MainWeb Web视图控制器.Sweft
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
case "preload":
let parameter = message["parameter"] as! String
preload(parameter)
break
case "openOther":
openOtherScreen()
break
...
func preload(_ prameter: String){
let storyboard = UIStoryboard(name: "Main", bundle: nil)
otherWebView = storyboard.instantiateViewController(withIdentifier: "OtherWebViewController") as? OtherWebViewController
otherWebView.delegate = self
otherWebView.paramFromMain = prameter
otherWebView.loadViewIfNeeded()
otherWebView.otherWebView.navigationDelegate = self
preloadCheck = true
}
func openOtherScreen(){
if preloadCheck {
DispatchQueue.main.async {
self.navigationController?.pushViewController(self.otherWebView, animated: true)
self.preloadCheck = false
}
} else {
}
}
有没有人知道为什么有时会显示一个白色的屏幕,闪烁和显示?还是有人像我一样解决了同样的问题?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。