InAppBrowser到Ionic Page之间的导航

时间:2018-05-04 16:39:15

标签: ionic-framework inappbrowser custom-url

我的Ionic App中有一个InAppBrowser,我已经用executeScript插入了一个锚标签。当我点击它时,我想推送一个名为Settings Page的新Ionic页面。如何做到这一点。请帮助

<a href="appname://settings"></a>

但是我收到一个名为

的错误
  

无法加载网页,因为net :: ERR_UNKNOWN_URL_SCHEME

更新

我也添加了Ionic Deep Links。

 this.deeplinks.routeWithNavController(this.navChild, {
    '/login': LoginPage,
    '/main':MainPage

  }).subscribe((match) => {
    console.log('Successfully routed', match);
  }, (nomatch) => {
    console.log('Unmatched Route', nomatch);
  });   
  

ionic cordova plugin add ionic-plugin-deeplinks --variable URL_SCHEME = myapp --variable DEEPLINK_SCHEME = https --variable DEEPLINK_HOST = example.com --variable ANDROID_PATH_PREFIX = /   其中URL_SCHEME是我的appname   和DEEPLINK_HOST -web页面从哪里打开深层链接

2 个答案:

答案 0 :(得分:0)

使用DeepLinks注册urlscheme并在您的应用中路由自定义网址。

$ ionic cordova plugin add ionic-plugin-deeplinks --variable URL_SCHEME=myapp 
  --variable DEEPLINK_SCHEME=https --variable DEEPLINK_HOST=example.com 
  --variable ANDROID_PATH_PREFIX=/
$ npm install --save @ionic-native/deeplinks
  • URL_SCHEME - 您要为自己的应用使用的自定义网址方案。 这可让您的应用响应myapp:// blah
  • 等链接
  • DEEPLINK_SCHEME - 用于通用/应用链接的方案。默认为&#39; https&#39;在1.0.13。由于iOS和Android需要使用SSL才能在应用链接域中使用https,因此99%的时间都会使用https。
  • DEEPLINK_HOST - 即将举办的主持人 回应深层链接。例如,如果我们想要 example.com/product/cool-beans在我们的应用程序中打开,我们使用 example.com在这里。
  • ANDROID_PATH_PREFIX - (可选):指定哪个 路径前缀我们的Android应用应该从更多信息打开

答案 1 :(得分:0)

const browser = this.iab.create("https://ionic.io");

browser.on('loaderror').subscribe(event => 
{
  if (event.message === 'net::ERR_UNKNOWN_URL_SCHEME') {
    browser.close();
    this.iab.create(event.url, '_system');

    // Do whathever you want with your url
    alert("Alert: "+event.url);
  }
});