swift - “This video is unavailable” - 带有用于 WKWebView 嵌入的 iframe 的 html

标签 swift iframe youtube-api youtube-iframe-api

我需要使用 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/

相关文章:

ios - UITableView:未调用 "didDeselectCell"方法,尽管单元格被取消选择

ios - CMTimeMakeWithSeconds 中的首选时间刻度

php - 从 moodialog 中获取特定字段并将值传递给父屏幕

javascript - iframe 和绝对定位元素

javascript - 使用 jQuery 和 YouTube API 加载事件

ios - Swift iOS 将 ArraySlice 转换为 CGFloat

swift - HTTP 请求 PUT 文件(图像)到 Swift RESTful API (Grails)

javascript - 从用户输入的 javascript 表单中定位 iframe src

ios - YouTube API 是否支持标签?

android - 我们可以使用Android YouTube API开发Google TV应用程序吗?