0

我想显示一个弹出窗口,如 facebook 登录,成功登录后,我想关闭该弹出窗口并重定向到原始窗口。

我正在使用我的自定义 oAuth,但我想像 Facebook 登录一样使用它

我正在使用 sencha touch,当我使用window.open新的全屏窗口打开窗口并成功登录时,重定向页面仅在新的弹出窗口中打开。

在此处输入图像描述

4

1 回答 1

0

为什么不使用带有 iframe 的浮动容器之类的东西

Ext.define('MyApp.view.oAuthContainer', {
    extend: 'Ext.Container',

    config: {
        centered: true,
        height: 300,
        width: 400,
        hideOnMaskTap: false,
        modal: true,
        html: '<iframe src="https://myOAuthLoginService onLoad="MyApp.app.getController("MyController").myMethodToHandleAniFrameRedirect(this);"></iframe>"',
        items: [{
            xtype: 'toolbar',
            docked: 'top',
            items: [{
                xtype: 'spacer'
            }, {
                xtype: 'button',
                handler: function(button, event) {
                    button.up("container").hide({type: 'fade', out: true});
                },
                iconCls: 'delete'
            }]
        }]
    }
});

Then all you would have to do is create a controller called MyController with a method called myMethodToHandleAniFrameRedirect(iframe) to handle the iframe redirect upon successful oauth login. You can grab the url from the iframe object in the method to make sure that authentication was successful.

于 2013-10-31T04:13:34.907 回答