我想在设备默认浏览器中打开外部URL。像适用于android一样,它应该在chrome中打开,而对于ios,它应该在safari中打开。
最初,当我尝试window.open(url,"_system")
时,它在android上运行正常。当我在ios中尝试时,它不起作用。
经过一番研究,我知道由于野生动物园的弹出窗口块性质,它没有开放。然后我禁用了弹出窗口阻止设置。仍然有问题。后来我才知道我需要安装InAppBrowser插件才能使其可行。
因此,我按照以下步骤操作
ionic cordova plugin add cordova-plugin-inappbrowser
npm install --save @ionic-native/in-app-browser
在app.module.ts文件中添加了提供程序
安装插件后,应用开始在Android设备上崩溃。 (未在ios上选中)。
我不知道原因。如果我删除了该插件,则该应用程序正在运行,但现在我也无法在android中打开url。
有人可以告诉我如何在android和ios中打开外部网址吗?
配置
1。 ionic-v3
2。 Angular-v6
3。 cordova-v8
答案 0 :(得分:1)
以下是在App Browser Plugin的V3中对我有用的解决方案
<button ion-button block clear (click)="openWebpage(url)">Open Webpage</button>
和openWebpage方法是这样的
openWebpage(url: string) {
const options: InAppBrowserOptions = {
zoom: 'no'
}
// Opening a URL and returning an InAppBrowserObject
const browser = this.inAppBrowser.create(url, '_self', options);
// Inject scripts, css and more with browser.X
}
答案 1 :(得分:0)
在 config.xml
中进行更改<preference name="FadeSplashScreen" value="false" />
<preference name="AutoHideSplashScreen" value="false" />
和 app.component.ts
中initializeApp() {
this.platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
this.statusBar.styleDefault();
this.splashScreen.hide();
});
}