如何在Meteor angular ios应用程序中打开外部链接?

如何在Meteor angular ios应用程序中打开外部链接?,ios,cordova,meteor,angular-meteor,meteor-mobile,Ios,Cordova,Meteor,Angular Meteor,Meteor Mobile,我有一个Meteor(V1.2.0.2)angular移动应用程序,需要有一个指向外部网页的链接,但这些链接在android或ios上无法打开。经过研究,我发现从这个问题,我可以添加一个名为inAppBrowser的cordova插件 我用其中一个答案中的这个来添加inAppBrowser插件 meteor添加cordova:应用浏览器中的cordova插件@ 在那之后,我的链接在我的android上工作,但在我的ipad上没有 这是我的html <a ng-click="adClick

我有一个Meteor(V1.2.0.2)angular移动应用程序,需要有一个指向外部网页的链接,但这些链接在android或ios上无法打开。经过研究,我发现从这个问题,我可以添加一个名为inAppBrowser的cordova插件

我用其中一个答案中的这个来添加inAppBrowser插件

meteor添加cordova:应用浏览器中的cordova插件@

在那之后,我的链接在我的android上工作,但在我的ipad上没有

这是我的html

<a ng-click="adClick(pageAd.link, pageAd._id)">
    <img ng-src="/images/ads/{{pageAd.src}}" alt="{{pageAd.alt}}" />
</a>
在ipad上,我的广告计数方法每次点击都有效,但window.open似乎没有任何作用。在安卓系统上,一切正常

我是否需要在meteor中为iAppBrowser进行其他设置,以使ios链接正常工作?我觉得这应该很简单,但经过几个小时的搜索,我几乎找不到任何关于流星的信息,所以也许我找错地方了

我还试着使用angular$window.open,它也适用于android,但不适用于ios

我决定研究cordova插件,因为我发现在搜索meteor时没有什么帮助。在cordova inAppBrowser插件自述中,我发现:

“如果希望应用程序中的所有页面加载都通过InApp Browser,只需挂起
窗口。在初始化过程中打开
。例如:”

但是在我的meteor项目中使用cordova变量的任何地方,它都是未定义的。这在《流星》中有吗?如果我需要这样做,为什么它在安卓系统中工作而不做呢


我的主要问题是,我还需要做什么才能在移动ios应用程序中打开链接?

我找到了解决方案。我开始浏览cordova build文件夹(我想我不需要在那里更改任何东西,只是为了弄清楚我环顾四周的情况)。我看到有两个文件夹使用我的项目名称,但其中一个是我为项目使用的旧名称(我最近重命名了它)

我意识到,当我使用meteor进行移动构建时,它不会删除任何旧文件,只会覆盖新构建生成的文件。我在构建中有一些文件夹和文件,它们仍然存在于以前的构建中。因此,我删除了整个移动构建,而不是仅仅覆盖它,并重建了项目,我的ios链接工作了


在我构建项目时,xcode似乎使用了一些旧文件,而旧配置没有InApp浏览器,因此无法工作

我想出了解决办法。我开始浏览cordova build文件夹(我想我不需要在那里更改任何东西,只是为了弄清楚我环顾四周的情况)。我看到有两个文件夹使用我的项目名称,但其中一个是我为项目使用的旧名称(我最近重命名了它)

我意识到,当我使用meteor进行移动构建时,它不会删除任何旧文件,只会覆盖新构建生成的文件。我在构建中有一些文件夹和文件,它们仍然存在于以前的构建中。因此,我删除了整个移动构建,而不是仅仅覆盖它,并重建了项目,我的ios链接工作了


在我构建项目时,xcode似乎使用了一些旧文件,而旧配置没有InApp浏览器,因此无法工作

您的config@SteveKennedy中是否有此标记?因此Meteor根据您的软件包为您构建配置文件,我无法准确找到您提到的内容,但在移动构建中生成的config.xml文件中,我找到了此标记:您的config@SteveKennedy中是否有此标记?因此Meteor根据您的软件包为您构建配置文件,我找不到您确切提到的内容,但在mobile build中生成的config.xml文件中,我找到了以下标记:
$scope.adClick = function(url, adId)
{
  $meteor.call("incrementAdCount", adId).then(
    function(data){
      window.open(url, "_system");
    },

    function(error) {

    }

  );

}
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    window.open = cordova.InAppBrowser.open;
}