【问题标题】:Cannot find hostname in file:/// error when using Ionic and OAuth.io使用 Ionic 和 OAuth.io 时在 file:/// 中找不到主机名错误
【发布时间】:2015-09-22 08:39:39
【问题描述】:

我正在使用 Ionic 和 Oauth.io 来执行身份验证。如果我运行ionic serve 并将outh.js 文件包含在我的索引中,那么在浏览器中一切正常。

但是当我运行ionic run ios 或在android 中安装应用程序时,当我按下身份验证按钮时出现以下错误(假设执行OAuth.popup 的那个

我不知道该怎么做,直到现在我检查了以下内容:

  1. 在 config.xml 中,我可以访问、允许意图和允许导航完全许可
  2. 我已经安装并重新安装了插件ionic plugin add https://github.com/oauth-io/oauth-phonegap.git
  3. 我尝试在不包含 oauth.js 文件的情况下运行本机应用程序,但一切都中断了。
  4. 使用最新的当前版本。
  5. 我是 Ionic 的新手,所以我不知道如何调试设备运行的应用程序或模拟器。
  6. 可能与 post 类似,但不完全一样。

您的建议将不胜感激。

【问题讨论】:

    标签: angularjs ionic-framework hybrid-mobile-app oauth.io


    【解决方案1】:

    我想通了阅读一些帖子。 OAuth初始化和引用应该在设备准备好之后进行,所以最好将initialize放在这个block中:

    $ionicPlatform.ready(function() {
      // ...
      if(typeof window.OAuth !== 'undefined'){
        $rootScope.OAuth = window.OAuth;
        $rootScope.OAuth.initialize('XXX');
      }
      else{
        console.log("plugin not loaded, this is running in a browser");
        $.getScript( "lib/oauth.js", function() {
          $rootScope.OAuth = OAuth;
          $rootScope.OAuth.initialize('XXX');
        });
    
      }
    });
    

    现在,如果插件被加载,它会初始化 window.OAuth 对象,否则应用程序正在浏览器中运行,所以我必须包含 oauth.js 文件。我还将 OAuth 分配给 $rootScope 以便快速访问。

    希望这对任何人都有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-05
      • 2015-12-24
      • 2016-11-24
      • 2013-11-04
      • 2021-03-16
      • 1970-01-01
      • 2013-08-25
      相关资源
      最近更新 更多