使用FB后,不能在iframe应用程序中编辑输入字段.登录Firefox浏览器
Can't edit input fields inside iframe app after using FB.login on Firefox
我面临的问题是,当我使用Firefox在我的Facebook iframe应用程序内使用FB.login
时,我无法编辑任何输入字段。奇怪的是,只要我将焦点设置在iframe之外的任何地方(例如Facebook或Firefox),然后更改回iframe中的输入字段,我就可以再次编辑它们。
在Facebook之外的FB.login
没有问题(当页面被直接调用时),这只发生在Firefox上,在其他浏览器上它工作得很好(在Chrome和Safari上测试)。所以我猜这是火狐造成的。
我剥离了整个代码,只在一个只有三个输入字段的简单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 );
}
})
}
});
};
编辑:这只发生在用户之前已经接受应用程序的情况下(模式弹出窗口打开,然后立即关闭)。当他需要授权应用程序时,它可以正常工作。
尝试将window.parent.focus()放在这行后面:$(" #电子邮件")。瓦尔(我。电子邮件);
if (me.name) {
$('.displayname').text(" as " + me.name);
$('#name').val( me.name );
$('#email').val( me.email );
window.parent.focus();
}
我也遇到过同样的问题——无法将焦点放在输入字段上,直到我选择了FB.api中的父窗口。
相关文章:
- 编辑数据库输入时在文本框上换行
- 从可编辑的引导程序中获取输入值
- 如何使用编辑按钮启用表格行中的所有输入
- AngularJS内容可编辑模糊输入
- 无法根据用户在编辑窗口中的输入显示/隐藏jtable jquery字段
- 如何在使用 UIWebView 编辑 HTML 内容时正确调整输入语言更改 (LTR/RTL) 的文本对齐方式
- 角度变量在编辑输入字段之前不显示
- Javascript通过加法编辑输入值
- 在angularJS中使用split()时无法编辑输入
- 用于编辑输入字段的弹出窗口
- 一起编辑输入字段,而不是单独编辑
- 制作一个“;输入“;按钮文本不可编辑
- 使输入不可编辑而不禁用
- HTML5输入颜色,可编辑输入
- Kendo ui Grid:标准的HTML5输入日期时间可以用作单元格编辑器吗
- JAVASCRIPT - 在动态创建的编辑框中拦截键码 13(输入)并将元素传递给不同的函数
- 使用 strip_tags() 和 preg_replace() 显示所见即所得/TinyMCE 文本编辑器中输入的文本
- TinyMCE 编辑输入值和按钮文本
- 如何在两个Liferay输入编辑器之间传输html
- Javascript文本输入编辑:如何将一个文本输入中的多个字符串文本着色器转换为另一种表示