iOS - 在 UIWebView 中嵌入 Facebook 视频
Posted
技术标签:
【中文标题】iOS - 在 UIWebView 中嵌入 Facebook 视频【英文标题】:iOS - Embedding Facebook video in UIWebView 【发布时间】:2015-11-03 12:25:00 【问题描述】:在我的应用程序中,我有一个 UIWebView
,它显示了从 WP 生成的内容(从 Facebook 嵌入生成的 html 代码)。
内容 HTML 使用 loadHMTLString:baseURL:
方法加载(对于基本 URL,我使用 URL 到 mainBundle 文件路径,因为本地 CSS 文件)。我尝试过但有问题的视频设置为公开可见性。
我面临的问题是,当内容包含 Facebook 嵌入视频时,视频不会显示。相反,在它应该放置的地方,有一个空格。
我在显示来自 Twitter 或 Instangram 的嵌入式帖子时遇到了类似的问题(虽然不是同一类型的问题。这里有一个帖子框架,但它没有图片或文本)。我已经通过在 javascript 文件链接中添加“http:”来解决它。该解决方案不适用于 facebook 视频问题。
另外,我尝试过使用WKWebView
,但没有任何运气。我已经尝试在这里搜索类似的问题,但我没有找到。
感谢任何帮助。
【问题讨论】:
你试过“https”吗? 是的,也没有运气。 您是否尝试过使用 Safari 调试 UIWebveiw 以查看是否有任何错误? 不,但我找到了一种解决方法,将视频放在 iframe 中。但我仍然不完全确定为什么帖子生成的嵌入不起作用。 @NikolaJolić 你能发布你想出的解决方法吗? 【参考方案1】:我在哪里使用 URL 到 mainBundle 文件路径的基本 URL
包含 Facebook Javascript SDK 的 HTML 文档不会在 UIWebView 中正确执行该 SDK,除非将 baseURL 参数设置为外部网站。
也就是说,
someUIWebView.loadHTMLString(HTMLString, baseURL: nil)
不会工作。但是
someUIWebView.loadHTMLString(HTMLString, baseURL: URL(string: "https://google.com/"))
即使您的网站与 google.com 无关,也可以使用。
在我看来,Facebook SDK 对 nil 或本地/文件 URL 不满意;它需要一个真正的HTTP
URL。
【讨论】:
以上是关于iOS - 在 UIWebView 中嵌入 Facebook 视频的主要内容,如果未能解决你的问题,请参考以下文章
iOS 9 UIWebview 嵌入式视频全屏播放导致约束错误
嵌入在 UIWebView 中的 MPMoviePlayerController 中的视频流
如何在 uiwebview iOS 中处理 YouTube 视频事件(开始、结束等)