【问题标题】:Cordova plugin InAppBrowser does not open a second timeCordova 插件 InAppBrowser 没有第二次打开
【发布时间】:2016-01-26 23:37:23
【问题描述】:

我正在开发一个使用 Ionic Framework 和 Phonegap 的项目。我需要使用 OAuth 2.0 对我的应用进行身份验证。当我尝试登录时,该应用程序会在 Cordova WebView 内打开一个 InAppBrowser 窗口并加载同意页面。在那之前一切正常。

问题在于当我关闭窗口并尝试再次打开它时,它根本无法打开!会是什么?

这是在我的 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(),但这些都不起作用。

【问题讨论】:

    标签: cordova oauth ionic-framework phonegap-plugins inappbrowser


    【解决方案1】:

    不要使用_self,它会将您的内容替换为 oauthUrl 内容,因此 cordova.js 将不存在,您将无法再使用 cordova APIs

    改用_blank

    【讨论】:

    • 谢谢!使用_blank 为我解决了很多问题。但奇怪的是:在你回答我之前,我正在使用_self 进行测试,我注意到当我构建应用程序以供发布时,我提到的问题不再发生。现在有了_blank,我不需要构建发布包来确保它正常工作。
    猜你喜欢
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 2017-12-26
    相关资源
    最近更新 更多