How*_*ard 8 android android-webview facebook-javascript-sdk facebook-comments android-activity
我有一个简单的活动创建一个WebView加载Facebook评论,例如
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
// myWebView.loadUrl("http://192.168.0.2/facebook.html"); // See 1st image
myWebView.loadUrl("file:///android_asset/facebook.html"); // See 2nd image
}
Run Code Online (Sandbox Code Playgroud)
只有远程html文件的调用才能正常工作,但本地调用不起作用.请参阅以下图像:
通过远程文件

通过本地文件

和内容 facebook.html
![<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</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_US/all.js#xfbml=1&appId=xxx";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-comments" data-href="http://example.com" data-width="470" data-num-posts="10"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
您需要指定基本URL.
myWebView.loadDataWithBaseURL("http://www.example.com", "YOUR_HTML", "text/html", null, null)
Run Code Online (Sandbox Code Playgroud)
要完全替换上面的行:
BufferedReader reader = new BufferedReader(new FileReader("file:///android_asset/facebook.html"));
String line;
String html = "";
while((line = reader.readLine()) != null) {
html += line;
}
reader.close();
myWebView.loadDataWithBaseURL("http://www.example.com", html, "text/html", null, null)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3204 次 |
| 最近记录: |