我面临的问题是,当我FB.login
使用 Firefox 在我的 Facebook iframe 应用程序中使用时,我无法编辑任何输入字段。奇怪的是,只要我将焦点设置在 iframe 之外的任何位置(例如 Facebook 或 Firefox),然后更改回 iframe 中的输入字段,我就可以再次编辑它们。
在 Facebook 之外(直接调用页面时)没有问题,FB.login
这只发生在 Firefox 上,在其他浏览器上它工作正常(在 Chrome 和 Safari 上测试)。所以我猜这是由Firefox引起的。
我剥离了整个代码,只在一个只有三个输入字段的简单 HTML 页面上使用了 Facebook JS SDK 和 jQuery。
jQuery(document).ready(function(e) {
$('a.facebookconnect').bind('click', function(e){
e.preventDefault();
FB.login(function(response) {
console.log(response);
if (response.authResponse) {
$('.loggedin').show();
}
}, {scope: 'email'});
});
});
window.fbAsyncInit = function() {
FB.init({
appId : '###',
status : true,
cookie : true,
xfbml : true
});
FB.Event.subscribe('auth.statusChange', function(response) {
if (response.authResponse) {
FB.api('/me', function(me){
if (me.name) {
$('.displayname').text(" as " + me.name);
$('#name').val( me.name );
$('#email').val( me.email );
}
})
}
});
};
编辑:这仅在用户之前已经接受应用程序时发生(模式弹出窗口打开,然后立即再次关闭)。当他需要授权该应用程序时,它可以正常工作。