我正在尝试在 iOS 9 下使用 WKWebView,其中一个页面恰好在 iframe 中包含 YouTube 视频。视频不显示。相同的视频可以在 Safari 中播放,因此似乎不是 iOS 问题,我认为我在 View 中缺少配置选项。示例 URL 为 http://www.w3schools.com/html/tryit.asp?filename=tryhtml_youtubeiframe .
import UIKit
import WebKit
class ViewController: UIViewController, WKNavigationDelegate
{
var webView : WKWebView!
override func viewDidLoad()
{
super.viewDidLoad()
let webviewConfiguration = WKWebViewConfiguration()
webviewConfiguration.allowsInlineMediaPlayback = true
webviewConfiguration.preferences.javaScriptCanOpenWindowsAutomatically = true
webviewConfiguration.allowsAirPlayForMediaPlayback = true
webviewConfiguration.allowsPictureInPictureMediaPlayback = true
webviewConfiguration.requiresUserActionForMediaPlayback = false
webView = WKWebView(frame: self.view.bounds,
configuration: webviewConfiguration)
webView.navigationDelegate = self
self.view = webView
let url = NSURL(string: "http://www.w3schools.com/html/tryit.asp?filename=tryhtml_youtubeiframe")
let req = NSURLRequest(URL: url!)
self.webView!.loadRequest(req)
}
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
}
func webView(webView: WKWebView,
didFailNavigation navigation: WKNavigation!,
withError error: NSError)
{
print("didFailNavigation \(error)")
}
func webView(webView: WKWebView,
didFailProvisionalNavigation navigation: WKNavigation!,
withError error: NSError)
{
print("didFailProvisionalNavigation \(error)")
}
}
最佳答案
转到项目 info.plist 文件 添加了一个名为 NSAppTransportSecurity 的键作为字典。 添加了一个名为 NSAllowsArbitraryLoads 的子键作为 bool 值并将其值设置为 YES。有用。
关于ios - wkwebview 不会在 iframe 中显示 youtube 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35216969/