Cannot find hostname in file:/// 使用 Ionic 和 OAuth.io 时出现错误
Cannot find hostname in file:/// error when using Ionic and OAuth.io
我正在使用 Ionic 和 Oauth.io 来执行身份验证。如果我 运行 ionic serve
并将 outh.js
文件包含在我的索引中,那么在浏览器中一切正常。
但是当我 运行 ionic run ios
或在 android 中安装应用程序时,当我按下授权按钮(应该执行 OAuth.popup
我不知道该怎么办,到目前为止我已经检查了以下内容:
- 在 config.xml 我有访问权限、允许意图和允许导航完全许可
- 我已经安装并重新安装了插件
ionic plugin add https://github.com/oauth-io/oauth-phonegap.git
- 我尝试 运行 本机应用程序而不包含 oauth.js 文件,但一切都崩溃了。
- 使用最新的当前版本。
- 我是 Ionic 的新手,所以我不知道如何调试设备-运行宁应用程序或模拟器。
- 可能与此类似 post 但不完全相同。
我们将不胜感激您的建议。
我看了一些帖子就明白了。 OAuth的初始化和引用应该在设备准备好后进行,所以最好把初始化放在这个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 以便快速访问。
希望这对任何人都有帮助。
我正在使用 Ionic 和 Oauth.io 来执行身份验证。如果我 运行 ionic serve
并将 outh.js
文件包含在我的索引中,那么在浏览器中一切正常。
但是当我 运行 ionic run ios
或在 android 中安装应用程序时,当我按下授权按钮(应该执行 OAuth.popup
我不知道该怎么办,到目前为止我已经检查了以下内容:
- 在 config.xml 我有访问权限、允许意图和允许导航完全许可
- 我已经安装并重新安装了插件
ionic plugin add https://github.com/oauth-io/oauth-phonegap.git
- 我尝试 运行 本机应用程序而不包含 oauth.js 文件,但一切都崩溃了。
- 使用最新的当前版本。
- 我是 Ionic 的新手,所以我不知道如何调试设备-运行宁应用程序或模拟器。
- 可能与此类似 post 但不完全相同。
我们将不胜感激您的建议。
我看了一些帖子就明白了。 OAuth的初始化和引用应该在设备准备好后进行,所以最好把初始化放在这个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 以便快速访问。
希望这对任何人都有帮助。