Android中的Facebook评论框

问题描述:

在我的应用程序中,我想通过webview在我的网站上显示评论。 这是我做了什么:Android中的Facebook评论框

在资产文件夹中我有一个comment.html文件名为

<html> 
<head> 
</head> 
<body> 
<div id="fb-root"></div> 
<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=467390796664437"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 
<div class="fb-comments" data-href="http://www.haivl.com/photo/1259735" data-width="470"></div> 
</body> 
</html> 
  • 在CommentViewActivity.java

    公共类CommentViewActivity延伸活动{ 公众静态上下文上下文 私人WebView webView;

    @SuppressLint("SetJavaScriptEnabled") 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        requestWindowFeature(Window.FEATURE_NO_TITLE); 
        setContentView(R.layout.activity_zini_login); 
        context = this; 
        CookieSyncManager.createInstance(this); 
        CookieManager cm = CookieManager.getInstance(); 
        cm.removeAllCookie(); 
        webView = (WebView) findViewById(R.id.web_login); 
        webView.getSettings().setJavaScriptEnabled(true); 
        webView.loadUrl("file:///android_asset/comment.html"); 
        webView.setWebViewClient(new WebViewClientActivity()); 
    } 
    
    public class WebViewClientActivity extends WebViewClient { 
        @Override 
         public void onPageStarted(WebView view, String url, Bitmap favicon) { 
         System.out.println("onPageStarted: " + url); 
    
         } 
    
        @Override 
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
         view.loadUrl(url); 
         return true; 
        } 
    
        @Override 
         public void onPageFinished(WebView webView, String url) { 
         System.out.println("onPageFinished: " + url); 
    
         } 
    } 
    

    }

活性显示如下: enter image description here

正如你所看到的,Facebook的评论框遮住,我不能看到整个注释。 任何人有想法?

感谢您的关注!

基于此文章Failed to render Facebook comments on Android WebView via local HTML

您需要指定一个基本URL。

myWebView.loadDataWithBaseURL("http://www.haivl.com", 
"<html> 
<head> 
</head> 
<body> 
<div id="fb-root"></div> 
<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=467390796664437"; 
fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 
<div class="fb-comments" data-href="http://www.haivl.com/photo/1259735" data-width="470"></div> 
</body> 
</html>", "text/html", null, null);