我需要使用 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 上。需要有一个链接或资源路径,而不是接收 nil。
例如,
videoWebView.loadHTMLString("<iframe>...</iframe>", baseURL: URL(string: "http://www.youtube.com")!)
关于swift - “This video is unavailable” - 带有用于 WKWebView 嵌入的 iframe 的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52093989/