【问题标题】:$window.open not working on iOS devices$window.open 在 iOS 设备上不起作用
【发布时间】:2018-09-20 17:51:43
【问题描述】:
 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');
      }

    })

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

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

【问题讨论】:

  • 你使用的是 AngularJS 还是 Angular(2+)?
  • AngularJS 是我目前使用的...

标签: javascript ios angularjs cordova ionic-framework


【解决方案1】:

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

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

let windowRef = $window;

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

【讨论】:

  • 我在android上使用了我的方法,效果很好。这似乎只是 iOS 的问题。
猜你喜欢
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多