Swift 检测WKWebView是否已关闭
我正在使用SWIFT构建一个简单的iOS应用程序。它在主视图全屏的WKWebView中加载一个单页应用程序。点击广告将在以MODALY方式呈现的新场景中打开另一个WKWebView。但是,如果我在新场景中单击几个页面并返回主视图,则主视图有50%的几率变为空白 当主视图变为空白时,它将从Safari inspector中消失,webView.reload不起作用。但loadHTMLString是有效的。所以我可以这样做:Swift 检测WKWebView是否已关闭,swift,ios8,wkwebview,Swift,Ios8,Wkwebview,我正在使用SWIFT构建一个简单的iOS应用程序。它在主视图全屏的WKWebView中加载一个单页应用程序。点击广告将在以MODALY方式呈现的新场景中打开另一个WKWebView。但是,如果我在新场景中单击几个页面并返回主视图,则主视图有50%的几率变为空白 当主视图变为空白时,它将从Safari inspector中消失,webView.reload不起作用。但loadHTMLString是有效的。所以我可以这样做: 1. override func viewWillAppear(anima
1. override func viewWillAppear(animated: Bool) {
2. super.viewWillAppear(false)
3. if pageStatus == .BackFromAdScene {
4. if webView is Blank {
5. loadFromLocal()
6. }
7. }
8. }
我很好奇,检测WKWebView是否为空的最简单方法是什么?换句话说,我应该如何写第4行 在Objective-c中,我使用了以下技巧:
[self.webView evaluateJavaScript:@"document.querySelector('body').innerHTML" completionHandler:^(id result, NSError *error) {
if (!result || ([result isKindOfClass:[NSString class]] && [((NSString *)result) length] == 0)) {
// reload your page
}];
在Objective-c中,我使用了以下技巧:
[self.webView evaluateJavaScript:@"document.querySelector('body').innerHTML" completionHandler:^(id result, NSError *error) {
if (!result || ([result isKindOfClass:[NSString class]] && [((NSString *)result) length] == 0)) {
// reload your page
}];
用户3437673的答案是正确的。这是像我这样的人的SWIFT代码,他们最近才来到iOS开发
self.webView?.evaluateJavaScript("document.querySelector('body').innerHTML") { (result, error) in
if error != nil {
// the main web view has turned blank
// do something like reload the page
}
}
用户3437673的答案是正确的。这是像我这样的人的SWIFT代码,他们最近才来到iOS开发
self.webView?.evaluateJavaScript("document.querySelector('body').innerHTML") { (result, error) in
if error != nil {
// the main web view has turned blank
// do something like reload the page
}
}
也适用于Swift。也适用于Swift。