Cordova 插件 InAppBrowser 不会第二次打开
Cordova plugin InAppBrowser does not open a second time
我正在使用 Ionic Framework 和 Phonegap 开发一个项目。我需要在我的应用程序上使用 OAuth 2.0 进行身份验证。当我尝试登录时,该应用程序会在 Cordova WebView 中打开一个 InAppBrowser window 并加载同意页面。在那之前一切正常。
问题出在我关闭 window 并尝试再次打开它时,它就是打不开!可能是什么?
这在我的 controllers.js 文件中:
var ref = $window.open(oauthUrl, "_self", "location=yes");
ref.addEventListener("loadstart", function () {
// ...
// do some logic
// ...
ref.close();
$state.go("login");
});
ref.addEventListener("exit", function () {
ref.close();
$state.go("index");
$window.location.reload();
});
我已经尝试删除 ref.close()
行,放入 ref.show()
,但是 none 这些行。
不要使用 _self
,它会将您的内容替换为 oauthUrl 内容,因此 cordova.js 将不存在并且您将无法再使用 cordova API
改用_blank
我正在使用 Ionic Framework 和 Phonegap 开发一个项目。我需要在我的应用程序上使用 OAuth 2.0 进行身份验证。当我尝试登录时,该应用程序会在 Cordova WebView 中打开一个 InAppBrowser window 并加载同意页面。在那之前一切正常。
问题出在我关闭 window 并尝试再次打开它时,它就是打不开!可能是什么?
这在我的 controllers.js 文件中:
var ref = $window.open(oauthUrl, "_self", "location=yes");
ref.addEventListener("loadstart", function () {
// ...
// do some logic
// ...
ref.close();
$state.go("login");
});
ref.addEventListener("exit", function () {
ref.close();
$state.go("index");
$window.location.reload();
});
我已经尝试删除 ref.close()
行,放入 ref.show()
,但是 none 这些行。
不要使用 _self
,它会将您的内容替换为 oauthUrl 内容,因此 cordova.js 将不存在并且您将无法再使用 cordova API
改用_blank