Angular 1.4.9 方法不适用于 IOS

Posted

技术标签:

【中文标题】Angular 1.4.9 方法不适用于 IOS【英文标题】:Angular 1.4.9 methods do not work with IOS 【发布时间】:2018-01-05 17:03:52 【问题描述】:

我有一个信息亭应用。 Kiosk 可以在多个位置使用,并且仅基于所述位置的 ID 特定于该位置。信息亭首先从允许信息亭管理员选择位置的页面启动。信息亭将刷新约。如果屏幕处于空闲状态,则每 2 分钟重新加载从 Kiosk 启动时选择的位置的欢迎页面。无论 Kiosk 位于哪个页面,即欢迎屏幕、允许最终用户签入的页面、允许用户选择访问原因的页面,都会发生此行为。以下代码适用于 Edge、IE 11 和 Chrome,但是对于 IOS 设备,它无法按预期运行。 IOS 设备将浏览器发送回用于位置信息亭管理器的页面,以选择其位置并启动信息亭。

function startKioskOver() 
  //only redirect if we have a location param
  if ($routeParams.selectedLocationId > 0) 
  datacontext.resetKiosk();
  datacontext.getServiceQueueByLocationId($routeParams.selectedLocationId);
  $location.path("/" + $routeParams.selectedLocationId + "/" + $window.indexPageGlobalRazorValues.DefaultView);
  $route.reload();
  window.location.reload();
  

IOS 浏览器是否存在不遵循所有其他已测试浏览器的行为的问题?有没有人可以解决这个问题?

提前感谢您的帮助。

【问题讨论】:

【参考方案1】:

浏览代码后发现:

window.location.reload();

是问题所在。它是由同事添加的,我怀疑 IOS 浏览器正在运行此异步,并且它在 $route.reload(); 之前被调用。完成了。

【讨论】:

以上是关于Angular 1.4.9 方法不适用于 IOS的主要内容,如果未能解决你的问题,请参考以下文章

Angular 2 http.post 不适用于 web api

.net core 3.1 c# cors 不适用于 Angular 7

Angular Universal 不适用于 Angular Google 地图

将 @angular-eslint/template/eqeqeq 设置为 off 不适用于 angular 13

自定义样式不适用于 angular 10

Angular Slider Touch 不适用于指令