Javascript 在ionic framework中打开外部网页并在重定向到特定url时关闭它

Javascript 在ionic framework中打开外部网页并在重定向到特定url时关闭它,javascript,angularjs,cordova,hybrid-mobile-app,ionic-framework,Javascript,Angularjs,Cordova,Hybrid Mobile App,Ionic Framework,我正在尝试创建一个简单的移动应用程序,其中用户将在django服务器上使用oauth登录。用户将首先尝试执行一项操作,如果用户未通过身份验证,服务器将发送一个错误,根据错误情况,用户将显示一个带有facebook、twitter和google按钮的模式。此按钮将用户引导到服务器,然后从服务器转到facebook、twitter或google登录页面,用户登录。我实现了完整的流程,但是在完成登录后,我无法关闭我打开的页面 $scope.twitterLogin = function() {

我正在尝试创建一个简单的移动应用程序,其中用户将在django服务器上使用oauth登录。用户将首先尝试执行一项操作,如果用户未通过身份验证,服务器将发送一个错误,根据错误情况,用户将显示一个带有facebook、twitter和google按钮的模式。此按钮将用户引导到服务器,然后从服务器转到facebook、twitter或google登录页面,用户登录。我实现了完整的流程,但是在完成登录后,我无法关闭我打开的页面

$scope.twitterLogin = function() {
    var loginUrl = $scope.twitterLink;
    var socialLoginWindow = window.open(loginUrl, '_blank', 'location=no,toolbar=yes');
    socialLoginWindow.addEventListener('loadstart', function (event) {
        var url = event.url,
        params = {},
        // get uri
        parts = url.split('?'),
        uri,
        urlParams,
        loading;
        console.log(url);
        alert(url);

        // if there is an uri
        if (parts[1]) {
            uri = parts[1];
            // get uri params
            urlParams = uri.split('&');

            // get uri params and store them with key, value
            angular.forEach(urlParams, function (paramString) {
                var param = paramString.split('=');
                params[param[0]] = param[1];
            });
        }

        // if there is an email param or an error -> close the window
        if (params.email || params.error) {
            socialLoginWindow.close();
        }
    });
};
(事件侦听器也不工作)问题发生后,我开始了一个新项目,其中只有一个按钮,然后在ng上单击该按钮。我调用了下面的函数

$scope.outofwrld = function() {
    try {
        alert("1");
        var loginUrl = "http://www.google.com/"
        window.open(loginUrl, '_self', 'location=no,toolbar=yes');
        alert("2")
    } catch (err) {
        alert(err);
    }
}
但现在警报工作正常,但我看不到窗口。我假设窗口是在后台打开的,如果是这样的话,我如何将它带到前台并关闭它。
另外,我正在使用cordova inappbrowser插件

您是否仍面临此问题@Sar009?@V31不,现在已修复。在添加android平台后,我安装了AppBrowser插件。但当我添加InApp浏览器,然后添加android平台时,问题就解决了。我甚至试图删除安卓平台,然后又添加了安卓平台,但没用。无论如何,问题现在已经解决了,但我不知道问题的确切原因。InApp browser是Windows的解决方案。open将创建一个与应用程序窗口无关的新窗口…InApp browser将打开一个子窗口,并让侦听器处理开始-停止事件我也有相同的问题,但使用的是ionic浏览器平台。尝试重新开始并首先添加cordova插件,但404仍然失败。eventListener()未捕获回调。