Wes*_*n C 8 javascript facebook facebook-iframe
我正在登录一个简单的Facebook应用程序.我能够使用JavaScript SDK成功地呈现登录/扩展权限与任何的FB.login或下面的代码的弹出窗口对话框:
FB.ui({ method: 'auth.login',
perms: 'read_stream,publish_stream',
display: 'popup' },
function (rsp) {
fg_log('on login');
if(rsp.session) {
if(rsp.perms) {
fg_log('PERMS: ',rsp.perms);
} else {
fg_log('Hmm. No permissions');
}
} else {
fg_log('Hmm. No login');
}
}
);
Run Code Online (Sandbox Code Playgroud)
问题是......我不太喜欢弹出窗口.从UI的角度来看,我认为他们感觉不对,就像他们不属于应用程序的其余部分一样.并让他们通过JavaScript现身还需要从用户没有理由额外的点击 - 为了避开弹出窗口拦截器,用户必须点击类似登录按钮(主要是没有意义的,因为在时间应用程序知道它需要显示登录按钮,它已经知道用户需要登录并可能也只是目前的权限对话框).
所以,我想,为什么不是iframe呢?没有弹出窗口拦截器的问题,在页面中很好地嵌入,而Facebook似乎很喜欢它们.
在最近的(2.1.2)的JavaScript SDK源等各个岗位上的Facebook开发者论坛上有一点点似乎预示着一个可以通过"显示:'IFRAME’"为选项FB.ui.部分
但是当我尝试它时,虽然iframe确实出现了,而不是获得权限对话框,我得到:
"发生错误.请稍后再试."
(注意:稍后再次尝试会产生相同的结果.)
是否有一个技巧可以使这个工作,或者由于某种原因被禁止?
尝试使用 FB.login 而不是 FB..ui。如果用户已经登录,并通过 FB.login 授予您请求的权限,则不会出现对话框。否则,将显示“内联”请求额外权限/登录的信息。
当用户已经登录时使用登录功能来获取更多权限有点违反直觉。但它确实有效。
| 归档时间: |
|
| 查看次数: |
11267 次 |
| 最近记录: |