【发布时间】:2016-04-28 19:56:36
【问题描述】:
我正在尝试将 Facebook 帖子嵌入到我的 Android 应用的 Webview 中。他们展示了如何在网站中包含 javascript (https://developers.facebook.com/docs/plugins/embedded-posts)
我尝试将 html 代码加载到 webview 中,如下所示:
String webcode = "<html>\n" +
" <body>\n" +
" <div class=\"fb-post\" \n" +
" data-href=\"https://www.facebook.com/20531316728/posts/10154009990506729/\"\n" +
" data-width=\"500\"></div>\n" +
" <!-- <div id=\"fb-root\"></div> -->\n" +
" </body>\n" +
"<script>(function(d, s, id) {\n" +
" var js, fjs = d.getElementsByTagName(s)[0];\n" +
" if (d.getElementById(id)) return;\n" +
" js = d.createElement(s); js.id = id;\n" +
" js.src = \"https://connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.5\";\n" +
" fjs.parentNode.insertBefore(js, fjs);\n" +
"}(document, 'script', 'facebook-jssdk'));</script>\n" +
"</html>";
web_view.getSettings().setJavaScriptEnabled(true);
web_view.loadData(webcode, "text/html", null);
清晰格式的Java Script代码:
<html>
<body>
<div class="fb-post"
data-href="https://www.facebook.com/20531316728/posts/10154009990506729/"
data-width="500"></div>
<!-- <div id="fb-root"></div> -->
</body>
<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 = "https://connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.5";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
</html>
但是,webview 显示了 2 行奇怪的字符。如果此代码在服务器上运行,则 Facebook 帖子显示正确。需要做什么才能使其在 Android 应用程序的 webview 中工作?谢谢!
【问题讨论】:
标签: javascript android facebook webview