首页 文章

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

提问于
浏览
0

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

Added provider in app.module.ts file

安装插件后,应用程序开始在Android设备上崩溃 . (未在ios上查看) .

我不知道原因 . 如果我删除插件,应用程序正在工作,但现在我也无法在Android中打开url .

任何人都可以告诉我如何在Android和ios中打开外部URL?

组态

1. ionic - v3

2. Angular - v6

3. cordova - v8

2 回答

  • 0

    这是我在V3中使用App Browser Plugin的解决方案

    <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

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

相关问题