如何在 UIWebView 或 WKWebView 中播放 facebook 视频
How to play facebook video in UIWebView or WKWebView
我正在尝试在 UIWebView 中使用 facebook 的嵌入式视频播放器。
以下代码在 chrome、safari、移动 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 进行了一些处理,现在包括一个 iframe正在嵌入 div。控制台没有js错误,也没有阻塞请求。
任何关于如何让它工作或进一步调试的建议都非常感谢。
我从应用程序本地托管的文件而不是 Web 服务器加载 html。下面的post似乎暗示facebook js使用了request的url,加载本地文件会出问题
https://developers.facebook.com/bugs/1683961658522966/
我能够通过将 base url 设置为“http://anythinghere.com” 加载 webview 来解决该问题。视频播放器现在可以正常工作了。
我正在尝试在 UIWebView 中使用 facebook 的嵌入式视频播放器。
以下代码在 chrome、safari、移动 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 进行了一些处理,现在包括一个 iframe正在嵌入 div。控制台没有js错误,也没有阻塞请求。
任何关于如何让它工作或进一步调试的建议都非常感谢。
我从应用程序本地托管的文件而不是 Web 服务器加载 html。下面的post似乎暗示facebook js使用了request的url,加载本地文件会出问题
https://developers.facebook.com/bugs/1683961658522966/
我能够通过将 base url 设置为“http://anythinghere.com” 加载 webview 来解决该问题。视频播放器现在可以正常工作了。