iOS 8.4.1 Update Causes ng-link and ng-click to stop working?

2,877 views
Skip to first unread message

Ched Cheatham

unread,
Aug 15, 2015, 8:10:51 PM8/15/15
to AngularJS
Everything was working great cross-browser (Chrome, Safari on iOS) with a new angular mobile web app project we just wrapped up.  Immediately after updating to iOS 8.4.1 the links in the app stopped working.  We are using mobile and gestures 1.4.4.  I am curious to see if anybody else has experienced this problem.  I ran across the following  security changes in the iOS update: https://support.apple.com/en-us/HT205030.  A webkit update (CVE-2015-5759) indicates "A malicious website can make a tap event produce a synthetic click on another page" .  I am wondering if this fix is causing the issue.  If anybody knows of anything about this please reply.  It caused the problem across all mobile browsers (Chrome, Safari, Opera mini on iOS) .

Thanks for any information that will lead to a solution.

Anderson Zanardi

unread,
Aug 17, 2015, 10:10:36 AM8/17/15
to AngularJS
I have the same problem.

Anybody can help?

Roger Santos

unread,
Aug 17, 2015, 4:33:21 PM8/17/15
to AngularJS
The same problem... waiting for a help. 

Roger Santos

unread,
Aug 17, 2015, 4:54:54 PM8/17/15
to AngularJS
The simple use of "touchstart click" solve this issue. Im using Angular, so U can create a directive like...
app.directive("ngMobileClick", [function () {
    return function (scope, elem, attrs) {
        elem.bind("touchstart click", function (e) {
            e.preventDefault();
            e.stopPropagation();

            scope.$apply(attrs["ngMobileClick"]);
        });
    }
}])

HTML call: ng-mobile-click="myScopeFunction()"

Ched Cheatham

unread,
Aug 17, 2015, 5:01:27 PM8/17/15
to AngularJS
To get around the issue I created a simple function to handle navigating around.  I then replaced all of the links (href, ng-href, etc) with an ng-click that calls the method.

Heres my function: 

$rootScope.go = function(path){

          $location.path(path);

        }

use:
<a ng-click="go('/home')">Home</a>

I see Roger came up with a solution as well.
Message has been deleted

Ched Cheatham

unread,
Aug 18, 2015, 12:32:37 AM8/18/15
to AngularJS
So as it turns out updating to the latest version of FastClick seems to have fixed everything.  Folks using ngCordova were experiencing the issue as well.  The stackoverfow below is the source for the fix.  Thanks to @[Matt Bassham] for pointing me to the article.

http://stackoverflow.com/questions/32034503/links-and-clicks-fail-to-open-with-cordova-on-ios-8-4-1/32063461#32063461


On Saturday, August 15, 2015 at 7:10:51 PM UTC-5, Ched Cheatham wrote:

Ryan Ou

unread,
Aug 18, 2015, 12:47:02 AM8/18/15
to AngularJS
On Sunday, August 16, 2015 at 8:10:51 AM UTC+8, Ched Cheatham wrote:
> Everything was working great cross-browser (Chrome, Safari on iOS) with a new angular mobile web app project we just wrapped up.  Immediately after updating to iOS 8.4.1 the links in the app stopped working.  We are using mobile and gestures 1.4.4.  I am curious to see if anybody else has experienced this problem.  I ran across the following  security changes in the iOS update: https://support.apple.com/en-us/HT205030.  A webkit update (CVE-2015-5759) indicates "A malicious website can make a tap event produce a synthetic click on another page" .  I am wondering if this fix is causing the issue.  If anybody knows of anything about this please reply.  It caused the problem across all mobile browsers (Chrome, Safari, Opera mini on iOS) .
>
>
> Thanks for any information that will lead to a solution.


in my case. this css :
* {
z-index: 0;
}
fix my ng webapp.
look like somthing block my viewpoint(position:relative)
dont know why.

Anderson Zanardi

unread,
Aug 18, 2015, 8:30:03 AM8/18/15
to AngularJS

Hi, 
Another way is set the css property like this (it works for me):


button:active { opacity: 1; !important }

Something pretty stupid that I could not understand, but I think it is something related to Apple posted in:
https://support.apple.com/en-us/HT205030

"Impact: A malicious website can make a tap event produce a synthetic click on another page Description: An issue existed in how synthetic clicks are generated from tap events that could cause clicks to target other pages. The issue was addressed through restricted click propagation."


So I suppose if the button on the active state on onsen is set to the lower opacity than 1, Apple should consider that this is a synthetic click .

Reply all
Reply to author
Forward
0 new messages