gpt4 book ai didi

android - Facebook 评论框未显示在 Android webview 中

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:02 25 4
gpt4 key购买 nike

在 HTML 文件中,我使用了 Facebook 社交评论插件,它运行良好,但是当我尝试使用 webview 在 android 中显示相同的文件时,它只显示评论而不是评论框,并且它显示一个按钮“登录到 facebook 以发表评论”。当我尝试通过单击该按钮而不是显示评论框来登录时;该页面正在重定向到 Facebook 个人资料。请帮助...

代码如下:

HTML代码:

 <head>
<meta content='website' property='og:type'/>
<meta content='http://graph.facebook.com/username' property='fb:admins'/>
<meta content='http://example.com/test.html' property='og:site_name'/>
<meta content='415944175093180' property='fb:app_id'/>
<meta content='Browser Detect' property='og:title'/>
<meta content='Tells about Early days' property='og:description'/>
<meta content='http://example.com/test.html' property='og:url'/>
<meta content='http://example.com/test.html' property='og:image'/>
</head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId: '415944175093180', status: true, cookie: true, xfbml: true,oauth: true}); };
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());

(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
<fb:comments href="http://example.com/test.html" num_posts="20" width="470" />
</body>

安卓代码:

公共(public)类 SimpleActivity 扩展 Activity {

WebView web1;

ViewPager awesomePager;
Context cxt;
List<WebView> data;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
cxt = this;
data = new ArrayList<WebView>();

awesomePager = (ViewPager) findViewById(R.id.viewPager);
awesomePager.setOffscreenPageLimit(10);

WebView web1 = new WebView(cxt);
web1.loadUrl("http://example.com/test.html");
WebSettings webSettings1 = web1.getSettings();

webSettings1.setJavaScriptEnabled(true);

data.add(web1);
awesomePager.setAdapter(new AwesomePagerAdapter(this,data));

最佳答案

可能是在“标准”html 中,使用网络浏览器, session 在某种程度上被保存,以便您登录到 facebook 并且您可以作为登录用户发表评论,即使您关闭浏览器然后再次启动它(cookies,“让我保持记录,等等”)。

另一方面,Android 浏览器可能不会缓存/保存 session ,应用程序可能已被终止等。因此您不太可能拥有“始终在线”的 session 。

当然 facebook 会识别这一点并向您显示登录表单,因为您不能以匿名用户身份发表评论。

据我所知,一个解决方案是使用 Facebook API而不是 Javascript 登录,以便您的应用程序永久获得授权以登录用户身份访问用户数据/发表评论。

关于android - Facebook 评论框未显示在 Android webview 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10783040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com