Cordova InAppBrowser.open。链接在safari上打开,而不是在应用程序内打开

时间:2016-05-23 15:29:26

标签: android ios cordova inappbrowser

我的小型cordova应用非常简单,在检查了连接后,打开网站的网址(例如http://www.example.com)。 我想要在应用程序中显示所有网址/网站。

主要问题是在iOS上只打开应用程序中的第一页,并且在safari浏览器中打开任何其他点击/触摸的链接。

在config.xml中 我已经设置了

<access origin="*" />

在index.js中我添加了

  onDeviceReady: function() {
        window.open = cordova.InAppBrowser.open;
        if (navigator.connection.type == Connection.NONE) {
      navigator.notification.alert('An internet connection is required to continue');
      } else {
          setTimeout(function(){window.open('http://www.example.com', '_self', 'location=no')} , 3000);

      }
    },

我已经尝试使用没有inappbrowser的代码(没有前面代码中的第二行,没有插件)。 我已经删除并读取了平台。 我重新创建了整个应用程序。 我检查了应用程序(cordova平台检查)。

在anrdoid和blackberry上它可以正常工作,因为我需要在应用程序内部导航(有和没有inappbrowser)!

cordova 6.1.1 mac mini - osx el capitan 10.11.5

1 个答案:

答案 0 :(得分:0)

我认为这是因为没有在config.xml中正确设置allow-intent href属性,如下所示:

https://issues.apache.org/jira/browse/CB-10859

在config.xml文件中查找此声明:

<allow-intent href="*" />

并将其替换为更具体的意图限制,例如:

<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />

这应该涵盖大多数意图。