Я совсем новенький, так что несите меня. У меня было встроенное видео с YouTube в WKWebView, которое отлично воспроизводится на macOS в Objective- C. Сначала ни одна из стандартных ссылок YouTube на видео (канал, рекомендуемые видео и т. Д. c) не загружалась. Я думаю, это потому, что youtube использует _blank целевые ссылки. В следующем коде это исправлено, поэтому теперь все ссылки на видео будут открываться в WKWebView.
- (WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures
{
NSLog(@"createWebViewWithConfiguration %@ %@", navigationAction, windowFeatures);
if (!navigationAction.targetFrame.isMainFrame) {
[(WKWebView *)_webView loadRequest:navigationAction.request];
}
return nil;
}
Однако я бы хотел, чтобы эти ссылки открывались в браузере macOS, а не в WKWebview. Множество быстрых примеров на iOS, но похоже, что не удается получить ссылки для открытия из WKWebView в сафари.
Я пробовал:
if (!navigationAction.targetFrame.isMainFrame) {
[[NSApplication sharedApplication] openURL:[navigationAction.request URL]];
}
Но не работает на macOS