使用Swift 3和UIWebView如何強制顯示在通過網頁IFrame播放的YouTube視頻中的YouTube徽標/水印「超鏈接」打開在Safari中?Swift 3 UIWebView在Safari中打開(視頻中的YouTube徽標/水印超鏈接)
我正在使用UIWebView(無法過渡到WKWebView),以顯示在IFrame中播放YouTube視頻的網頁。
繼https://developers.google.com/youtube/player_parameters?csw=1#modestbranding的「YouTube嵌入式播放器和播放器參數」的指示。我能夠使用showinfo = 0從視頻的頂部刪除標題和分享按鈕。這隻留下YouTube徽標/水印。
當你點擊YouTube徽標/水印它打開我的YouTube應用程序,這是不利於用戶的導航體驗中。
如果用戶點擊YouTube標誌/水印我需要這個鏈接在Safari中打開。我嘗試使用下面顯示的代碼沒有成功。該代碼適用於UIWebView中的所有其他鏈接,但不適用嵌入在實際視頻中的YouTube徽標/水印超鏈接。
// ViewController.swift
進口的UIKit
類的ViewController:UIViewController中,UIWebViewDelegate {
@IBOutlet var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
webView.delegate = self
if let url = URL(string: "http://www.example.com") {
let request = URLRequest(url: url)
webView.loadRequest(request)
}
}
//Force all links to open in Safari.
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if let url = request.url, navigationType == UIWebViewNavigationType.linkClicked {
UIApplication.shared.openURL(url)
return false
}
return true
}}
我能夠用在例如在我的應用程序的Android版本來實現這一WebView link click open default browser。
我花了一個星期試圖弄清楚這一點,以免與已經回答的問題浪費時間的人。 任何幫助解決這個問題將不勝感激。謝謝!
你知道嗎?我認爲有一次,你需要切換到WKWebView,它比普通的Web視圖更好(它有不同的覆蓋方法) – XcodeNOOB
我也想知道是否曾經爲這個問題找到解決方案 – Rakshasas