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 视频事件(开始、结束等)

UIWebView 故障中的视频链接

嵌入式 Facebook 帖子无法在 UIWebView 中正确显示

在 Html 中嵌入图像并在 UIWebView 中加载