2014-11-24 26 views
2

我有一个AngularJS移动网站,在iPhone 5,iPhone 5s(均运行iOS 8)以及我的iPad(iOS 8以及)上运行得非常好。但是,“登录”按钮在iPhone 6上不起作用(例如,您单击它并没有任何反应)。这个完全相同的网站在其他iOS移动平台上工作完全没有问题。这对我来说没有意义,因为它们都是iOS 8?AngularJS Web App停止在iPhone 6上工作

在附注中,网站通过浏览器堆栈在iPhone 6模拟器上工作,但不在物理iPhone 6上。我不确定它是否是iPhone 6上的默认设置,但我找不到任何东西。

下面是被调用的登录按钮被点击时的代码:

为标志式的代码片段是:

<div class="col-sm-6 bordered-form field-padding"> 
    <form name="loginForm" role="form" novalidate> 
    <div class="row"> 
     <div class="col-sm-12"> 
     <h4>Existing employers login</h4> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-sm-12 form-group"> 
     <input type="email" name="email" ng-model="user.email" placeholder="Please enter your email address" class="validatedInputField" required> 
      <span ng-show="loginForm.email.$valid" class="glyphicon glyphicon-ok icon-success"></span> 
      <span ng-show="loginForm.email.$invalid && loginForm.email.$dirty" class="glyphicon glyphicon-remove icon-invalid"></span> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-sm-12 form-group"> 
     <input type="password" name="password" ng-model="user.password" placeholder="Please enter your Password" class="validatedInputField" required ng-minlength="6"> 
      <span ng-show="loginForm.password.$valid" class="glyphicon glyphicon-ok icon-success"></span> 
      <span ng-show="loginForm.password.$invalid && loginForm.password.$dirty" class="glyphicon glyphicon-remove icon-invalid"></span> 
     </div> 
     <div class="col-sm-12"> 
     <button class="btn btn-success" ng-disabled="loginForm.$invalid" ng-click="authenticate()"><span class="glyphicon glyphicon-thumbs-up"></span>&nbspLogin</button> 
     </div> 
    </div> 
    </form> 
</div> 

角度功能是在这里:

$scope.authenticate = function(){ 

var credentials = "Basic " + $window.btoa(this.user.email + ":" + this.user.password); 

$http.get(ENV.apiEndpoint + '/auth/basic/', 
    {headers: {'Authorization': credentials}}) 

    .success(function(data, status, headers, config){ 

     AuthorisationService.LoginUser(data); 

    }). 
    error(function(data, status, headers, config) { 
     ErrorLoggingService.logError(data, status, headers, config); 
    }); 
} 

Angular version:1.2.15

Bootstrap版本:〜3.0.3

有没有人在iPhone 6上遇到过这个问题?

由于我没有访问物理iPhone 6,我有一些孤立问题的问题。如果有人可以访问iPhone 6,我可以让他们访问我网站上的测试帐户,他们可以很快复制这个问题。

任何帮助将不胜感激。

+0

你能制作一个测试页吗?我有测试手机来帮忙。 – Raptor 2014-11-24 06:59:17

+0

嗨@raptor - 你可以在Skype上与我联系吗?我的Skype用户名是'gaj_varma',然后我会通过私人信息向您提供真实账户的登录信息,以便您可以尝试。非常感谢你的帮助。 – Gaj 2014-11-25 07:37:24

回答

5

我在有问题的实际iPhone 6上对此进行了调试,我发现服务器返回的令牌存储在会话存储中时发生故障。

我打电话给Apple支持,并花费了相当多的时间与他们打电话。该网页正在使用其他iPhone 6设备,但不是这个。在尝试了几种不同的设置并确认它在Chrome上运行之后,这位出色的Apple支持人员询问我是否将页面设置为“私人”。

在Safari浏览器的右下角,点击一个图标,您可以将各个网站设置为“私人”。取消选中此项可以使网站正常工作,并且可以将令牌存储在会话存储中。看起来我的客户不小心将网站设置为“私人”,这是造成这个问题的原因。

希望这会为别人节省一些时间,并解决类似的问题。充分赞扬花费一个多小时解决此问题的Apple支持人员。