gpt4 book ai didi

ios - 快速禁用 WKWebview 中的 Youtube 应用程序重定向

转载 作者:行者123 更新时间:2023-11-29 05:24:39 49 4
gpt4 key购买 nike

我使用 Swift 中的 WKWebView 开发了简单的 Web 浏览器。当我点击 Youtube 链接时,Youtube 应用程序会自动启动。我希望在我的网络浏览器中播放 Youtube 视频。我不需要启动 Youtube 应用程序。请帮助我。

这是我的示例代码。

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.

let webViewConfiguration = WKWebViewConfiguration()
webViewConfiguration.allowsInlineMediaPlayback = true
wkWebView.configuration.allowsInlineMediaPlayback = true
wkWebView.navigationDelegate = self
let myURL = URL(string: "https://www.google.com")
let youtubeRequest = URLRequest(url: myURL!)
wkWebView.load(youtubeRequest)
}

最佳答案

是的,你可以做到这一点。

首先,您需要在 webview 中设置 WKNavigationDelegate,然后在 webview:decidePolicyFor 方法中取消任何链接激活的 YouTube 请求,并强制其在您的 webview 中加载。

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
if navigationAction.navigationType == .linkActivated && navigationAction.request.url?.host?.hasSuffix("youtube.com") {
decisionHandler(.cancel)
DispatchQueue.main.async {
webView.load(navigationAction.request)
}
} else {
decisionHandler(.allow)
}
}

关于ios - 快速禁用 WKWebview 中的 Youtube 应用程序重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58291683/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com