Login ionic3打开不带地址栏和工具栏的外部url并关闭按钮
我的应用需要一个来自外部url的登录页面 我认为的登录逻辑是: 台阶Login ionic3打开不带地址栏和工具栏的外部url并关闭按钮,login,webview,inappbrowser,ionic3,external-url,Login,Webview,Inappbrowser,Ionic3,External Url,我的应用需要一个来自外部url的登录页面 我认为的登录逻辑是: 台阶 启动ionic时打开外部url 用户登录后,使用深度链接返回内部应用程序(例如:myapp://main) 我测试了第2步,这是深度链接。效果很好 所以,我现在必须做第一步 首先,我使用iframe进行了测试。 并且get拒绝在帧中显示“https:…”,因为它将“X-frame-Options”设置为“deny”。错误。似乎这需要一个服务器端配置。但无论如何,我们不想用这种方式iframe感觉像是黑客 其次,我尝试了loca
iframe
进行了测试。
并且get拒绝在帧中显示“https:…”,因为它将“X-frame-Options”设置为“deny”。
错误。似乎这需要一个服务器端配置。但无论如何,我们不想用这种方式iframe
感觉像是黑客
其次,我尝试了location.href=this.loginUrl代码>。
在chrome浏览器中运行良好,但当我内置iOS模拟器时,我看到地址栏、工具栏和关闭按钮。
我不喜欢这样,因为我不希望用户关闭登录页面或更改url地址
第三,尝试窗口。打开(this.loginUrl,'.\u self',location=no')
。
和第二个结果相同
第四,尝试在应用程序浏览器中使用ionic版本的。
但结果与第二和第三次相同。
它仍然会打开一个带有地址栏、工具栏的浏览器,甚至会显示“返回myApp”。所以用户会觉得这个应用程序已经过时了。
,人们仍然在寻找解决方案
花了一天的时间后,我甚至不知道是否有可以尝试的选择。我可以通过这样做来解决。但在实际设备中。
Xcode iPhone模拟器没有开放的应用程序内浏览器,而是内置浏览器
browser:any;
this.platform.ready().then(() => {
this.browser = this.iab.create(this.loginUrl, '_blank', 'location=no,toolbar=no');
});
您可以通过在AppBrowser中安装名为cordova插件的cordova插件来解决此问题。执行以下命令:
ionic plugin add cordova-plugin-inappbrowser
npm install --save @ionic-native/in-app-browser
在你的app.module.ts上添加
import { InAppBrowser } from '@ionic-native/in-app-browser';
并将以下内容添加到app.module.ts中的提供商
providers: [
StatusBar,
SplashScreen,
InAppBrowser,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
然后在你的家里
import { InAppBrowser } from '@ionic-native/in-app-browser';
然后像这样将其注入构造函数
constructor(public navCtrl: NavController, private iab: InAppBrowser) {
}
然后添加以下方法
ionViewDidLoad(){
this.iab.create('url', '_self', { location: 'no' }); }
检查此插件的不同选项
要删除地址栏,请使用以下选项:
location: Set to yes or no to turn the InAppBrowser's location bar on or off.
您可以尝试toolbar=no
查看IOS选项,我设置了位置:“no”,然后它隐藏了地址栏,但页面导航不起作用。我有WordPress网站。