【发布时间】:2019-10-24 12:46:16
【问题描述】:
我使用 cordova 开发混合应用程序。 . .
我在WkWebvieUIDelegate.m写下面的代码
我可以打开一个标签(目标 _blank 与新窗口)
我可以看到NSLog这个代码
但我无法在 javascript 中打开 window.open(...),也看不到 NSLog
如何打开window.open
- (WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures
{
webView.UIDelegate = self;
webView.navigationDelegate = self;
webView.configuration.preferences.javaScriptEnabled = YES;
webView.configuration.preferences.javaScriptCanOpenWindowsAutomatically = YES;
NSLog(@"1");
NSURL* url = [navigationAction.request URL];
UIApplication *app = [UIApplication sharedApplication];
if ([app canOpenURL:url]) {
NSLog(@"2");
[app openURL:url];
} else {
// if (!navigationAction.targetFrame.isMainFrame) {
//
// [webView loadRequest:navigationAction.request];
// }
}
return nil;
}
【问题讨论】:
-
为什么不使用现有Cordova InappBrowser plugin的WKWebView实现(
usewkwebview=yes)?
标签: ios objective-c xcode cordova wkwebview