“此视频不可用”- html 带有用于 WKWebView 嵌入的 iframe

“This video is unavailable” - html with iframe for WKWebView embedding

我需要使用 iframe 嵌入 Youtube 视频。根据一个测试项目,当我尝试将 youtube_ios_player_helper 与函数

一起使用时
-(BOOL)loadWithVideoId:(nonnull NSString *)videoId playerVars: (nullable NSDictionary *)playerVars

let vars = ["origin": "http://www.youtube.com"]
playerView.load(withVideoId: "gqbB8-sBuvg", playerVars: vars)

视频正常。如果我不使用其他参数,我会看到:"This video is unavailable"。但是对于iframe,我只看到"This video is unavailable"。我正在使用以下 html:

videoWebView.loadHTMLString("<iframe width=\"\(videoWebView.frame.width)\" height=\"\(videoWebView.frame.height)\" src=\"https://www.youtube.com/embed/gqbB8-sBuvg?enablejsapi=1&origin=\"http://www.youtube.com\"\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen> </iframe>", baseURL: nil)

如何修复 iframe 嵌入?

要解决 iframe 嵌入问题,您不需要使用 YouTube 帮助程序库。 问题出在 baseURL 上。需要 link 或资源路径而不是接收 nil。

例如,

videoWebView.loadHTMLString("<iframe>...</iframe>", baseURL: URL(string: "http://www.youtube.com")!)