Ionic 3-如何在设备默认浏览器中打开外部URL

时间:2018-08-02 10:12:49

标签: cordova ionic3 cordova-plugins angular6 inappbrowser

我想在设备默认浏览器中打开外部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

2 个答案:

答案 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();
});
}