$ window.open无法在iOS设备上运行

时间:2018-04-11 01:18:41

标签: javascript ios angularjs cordova ionic-framework

 alertPopup.then (function(res) {
      if(ionic.Platform.isAndroid()) {
        $window.open('android_link_here', '_system')
      }

      else if(ionic.Platform.isIOS()) {
        $window.open('ios_link_here', '_system')
      }

      else {
        $window.open('other_link_here', '_system');
      }

    })

Hey Guys,我正在尝试设置一个弹出窗口,弹出窗口通知用户何时有新版本的应用程序可用。我想要这样做基本上是转到我在字符串引用中的页面。对于iOS,这不起作用,它无法打开Safari并加载我想要的网页。注意:到目前为止,我还没有在Android上测试过。

可能是我做错了但我环顾四周似乎没有人遇到这个问题。

1 个答案:

答案 0 :(得分:0)

由于函数在完成alertPopup时执行,您将失去对$window元素的引用。

可能的解决方案是保留对$window对象的本地范围引用。并使用它而不是试图直接使用$ window。

let windowRef = $window;

alertPopup.then (function(res) {
      if(ionic.Platform.isAndroid()) {
        windowRef.open('android_link_here', '_system')
      }