【问题标题】:How to open an external link in a Meteor angular ios app?如何在 Meteor angular ios 应用程序中打开外部链接?
【发布时间】:2016-07-08 12:32:42
【问题描述】:

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

How to get links to open in the native browser in iOS Meteor apps?

我使用其中一个答案添加了 inAppBrowser 插件

流星添加cordova:cordova-plugin-inappbrowser@https://github.com/apache/cordova-plugin-inappbrowser/tarball/bc9036d90a1f3f2220b5fc29b77cf2405e7fd781

之后,我的链接在我的 android 上有效,但在我的 ipad 上无效。

这是我的html

<a ng-click="adClick(pageAd.link, pageAd._id)">
    <img ng-src="/images/ads/{{pageAd.src}}" alt="{{pageAd.alt}}" />
</a>

以及我的控制器中的功能

$scope.adClick = function(url, adId)
{
  $meteor.call("incrementAdCount", adId).then(
    function(data){
      window.open(url, "_system");
    },

    function(error) {

    }

  );

}

在 ipad 上,我的广告计数方法在我每次点击时都有效,但 window.open 似乎没有做任何事情。在 android 上一切正常。

我需要为流星中的 inAppBrowser 进行任何其他设置才能使 ios 链接正常工作吗?我觉得它应该很简单,但经过数小时的搜索,我几乎找不到任何关于流星的东西,所以也许我找错了地方。

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

我决定研究cordova 插件,因为在搜索meteor 时找不到什么帮助。在cordova inAppBrowser 插件自述文件中,我发现了这个:

"如果您希望应用中的所有页面加载都通过 InAppBrowser,您可以在初始化期间简单地挂钩 window.open。例如:"

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

但是我在我的流星项目中使用cordova 变量的任何地方,它都是未定义的。这甚至在 Meteor 中可用吗?如果我需要这样做,为什么不这样做就可以在 android 中工作?

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

【问题讨论】:

  • 你的配置中有没有这个
  • @SteveKennedy 所以 Meteor 会根据您的软件包为您构建配置文件,我找不到您确切提到的内容,但在移动构建中生成的 config.xml 文件中我找到了这个标签:

标签: ios cordova meteor angular-meteor meteor-mobile


【解决方案1】:

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

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

当我构建项目时,xcode 似乎使用了一些旧文件,而旧配置没有 inAppBrowser,所以它不起作用。

【讨论】:

    猜你喜欢
    • 2015-05-19
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    相关资源
    最近更新 更多