我正在尝试在 UIWebView 中使用 facebook 的嵌入式视频播放器。
以下代码适用于 chrome、safari、mobile safari 和 firefox,但在加载到 UIWebView 或 WKWebView 时无法播放
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
</head>
<body>
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "http://connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.6";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-video" data-href="https://www.facebook.com/bhanengtattoo/videos/vb.100000856281223/967837953254738/?type=3" data-width="500" data-show-text="false">
<div class="fb-xfbml-parse-ignore">
<blockquote cite="https://www.facebook.com/bhanengtattoo/videos/967837953254738/"><a href="https://www.facebook.com/bhanengtattoo/videos/967837953254738/"></a><p>Some placholder text</p>Posted by <a href="#" role="button">Bhaneng Venus</a> on Friday, 30 October 2015</blockquote>
</div>
</div>
</body>
</html>
应用程序传输设置配置为允许任意加载,加载后检查 webview 我可以看到 facebook sdk 已经下载并且对视频 div 进行了一些处理,其中包括现在嵌入到 div 中的 iframe。控制台没有js错误,也没有阻塞请求。
非常感谢任何关于如何让它工作或进一步调试的建议。
最佳答案
我是从应用程序本地托管的文件而不是网络服务器加载 html。以下帖子似乎暗示facebook js使用请求的url并且加载本地文件会导致问题。
https://developers.facebook.com/bugs/1683961658522966/
我能够通过加载基本 url 设置为“http://anythinghere.com”的 webview 来解决这个问题。视频播放器现在可以正常工作。
关于ios - 如何在 UIWebView 或 WKWebView 中播放 facebook 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36956422/