【问题标题】:Facebook comment box in AndroidAndroid 中的 Facebook 评论框
【发布时间】:2013-10-01 05:28:24
【问题描述】:

在我的应用程序中,我想通过 webview 在我的网站中显示 cmets。 这就是我所做的:

在资产文件夹中,我有一个名为 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

    public class CommentViewActivity extends Activity {
    public static Context context;
    private 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);
    
          }
    }
    }
    

活动显示如下:

如您所见,facebook 评论框被遮挡,我看不到整个 cmets。 有人有想法吗?

感谢您的关注!

【问题讨论】:

    标签: android facebook


    【解决方案1】:

    基于这篇帖子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);
    

    【讨论】:

      猜你喜欢
      • 2011-12-18
      • 2015-07-18
      • 1970-01-01
      • 1970-01-01
      • 2012-06-02
      • 2011-03-21
      • 2012-03-09
      • 1970-01-01
      • 2012-04-09
      相关资源
      最近更新 更多