如何在UIWebView或WKWebView

时间:2016-04-30 14:59:14

标签: ios facebook uiwebview html5-video wkwebview

我试图在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错误,也没有被阻止的请求。

关于如何使其工作或进一步调试的任何建议都非常赞赏。

1 个答案:

答案 0 :(得分:1)

我从应用程序本地托管的文件而不是Web服务器加载html。以下帖子似乎暗示facebook js使用请求的url并且加载本地文件会导致问题。

https://developers.facebook.com/bugs/1683961658522966/

我能够通过将基本网址设置为“http://anythinghere.com”加载webview来解决此问题。视频播放器现在按预期工作。