我试图在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错误,也没有被阻止的请求。
关于如何使其工作或进一步调试的任何建议都非常赞赏。
答案 0 :(得分:1)
我从应用程序本地托管的文件而不是Web服务器加载html。以下帖子似乎暗示facebook js使用请求的url并且加载本地文件会导致问题。
https://developers.facebook.com/bugs/1683961658522966/
我能够通过将基本网址设置为“http://anythinghere.com”加载webview来解决此问题。视频播放器现在按预期工作。