如何在同一窗口而不是弹出窗口中打开facebook登录对话框?

如何在同一窗口而不是弹出窗口中打开facebook登录对话框?,facebook,login,popup,Facebook,Login,Popup,我有一个网站,用户可以使用他们的Facebook帐户登录。 我正在使用javascript FB.login方法显示Facebook登录对话框。默认情况下,它会触发显示新的弹出窗口。许多用户禁止在浏览器中使用弹出窗口。如何强制facebook登录对话框显示在用户单击登录按钮的同一窗口中? 我可以看出它在这方面是有效的 当用户点击登录按钮时,他被重定向到facebook。登录FB后,他会被重定向回原来的网站。所有内容都在同一个浏览器选项卡中。设置“显示触摸”即可完成此操作 范例 form meth

我有一个网站,用户可以使用他们的Facebook帐户登录。 我正在使用javascript FB.login方法显示Facebook登录对话框。默认情况下,它会触发显示新的弹出窗口。许多用户禁止在浏览器中使用弹出窗口。如何强制facebook登录对话框显示在用户单击登录按钮的同一窗口中? 我可以看出它在这方面是有效的


当用户点击登录按钮时,他被重定向到facebook。登录FB后,他会被重定向回原来的网站。所有内容都在同一个浏览器选项卡中。

设置“显示触摸”即可完成此操作

范例

form method="get" action="https://graph.facebook.com/oauth/authorize" id="openid_form">       
    <input type="hidden" value="" name="client_id" id="client_id"/>
    <input type="hidden" value="touch" name="display" id="display"/>

    <input type="hidden" value="http://www.mobileborg.com/modules/openid/fb_callbackuri.php" name="redirect_uri" id="redirect_uri"/>
    <input type="hidden" value="email,read_stream,user_location,user_hometown,read_friendlists,user_photos,user_videos,publish_stream,offline_access" name="scope" id="scope"/>

    <div style="display:block">
    <input type="hidden" name="oid_name" id="oid_name"/>
    <input type="hidden" size="40" class="openid-identifier" name="openid_identifier" id="openid_identifier"/>
    <input type="submit" style="display:none" value="Login" id="submit-button"/>
    </div>
</form
formmethod=“get”操作=”https://graph.facebook.com/oauth/authorize“id=“openid\u表单”>
见:

不要使用FB.login(),只需添加一个指向页面的链接,如下所示:

然后,Facebook会让用户登录并将其重定向回您的URL,并在查询字符串上添加一些好东西:

YOUR_REDIRECT_URI?
    error_reason=user_denied
   &error=access_denied
   &error_description=The+user+denied+your+request.
   &state=YOUR_STATE_VALUE

根据Facebook,您可以使用将在同一浏览器窗口中打开的
display=page

我的问题是启用了“”模块。它将facebook url视为外部url,并立即添加target=“\u blank”,导致所有点击都在新窗口中打开。

谢谢您的回答。我更喜欢不使用表单的解决方案。我有附带onclick事件的div元素。用户单击div(登录按钮)后,调用FB.login方法。我得到一个错误:
“display”必须是“popup”、“dialog”、“iframe”、“touch”、“async”、“hidden”或“none”中的一个。
我尝试了这种方法,但只有在facebook重新定向回我的URI“grated_scopes=email、public_profile&denied_scopes”\,接下来我该怎么办?欢迎任何建议~谢谢,这救了我一天!