Skip to content
This repository has been archived by the owner on Jun 9, 2022. It is now read-only.

Disable on iOS 9.3+ #450

Open
kornelski opened this issue Jan 11, 2016 · 12 comments
Open

Disable on iOS 9.3+ #450

kornelski opened this issue Jan 11, 2016 · 12 comments

Comments

@kornelski
Copy link
Contributor

Hurray! https://developer.apple.com/library/prerelease/mac/releasenotes/General/WhatsNewInSafari/Articles/Safari_9_1.html#//apple_ref/doc/uid/TP40014305-CH10-SW1

On Safari for iOS, the 350 ms wait time to detect a second tap has been removed to create a “fast-tap” response. This is enabled for pages that declare a viewport with either width=device-width or user-scalable=no. Authors can also opt in to fast-tap behavior on specific elements by using the CSS touch-action property, using the manipulation value.

@nicooprat
Copy link

🎉!

@jjhampton
Copy link

Does anyone have a resource that explains the correlation between versions of Safari and versions of iOS? I'm assuming that Safari v. 9.1 will be rolled out w/ iOS 9.3 updates?

@madskonradsen
Copy link

Kind of duplicate of #444 , also, wouldn't it be better to establish some kind of feature detection instead of user-agent-sniffing?

@mgol
Copy link

mgol commented Jan 30, 2016

wouldn't it be better to establish some kind of feature detection instead of user-agent-sniffing?

It would be better but I don't think it's fully possible here.

@samuelmburu
Copy link

I'm new to this thread, but I was scanning through the FastClick code we should be able to do this with the following change.


Inside FastClick.notNeeded function we would need to add the following:

        if (deviceIsIOS && typeof layer.style.touchAction !== "undefined") {
            return true;
        }

Any thoughts?

@mgol
Copy link

mgol commented Feb 23, 2016

@samuelmburu I think it's more nuanced. The touchAction path is already handled by these lines so current FastClick should already disable its hacks on iOS 9.3 devices with touchAction set. The other heuristics are the same as Chrome uses so these lines should be executed on iOS 9.3+ as well, not just Chrome for Android. This seems to me to be the only change that's needed.

I'm not a FastClick contributor, though, that's just my understanding of the code. :)

@michielvaneerd
Copy link

Unfortunately the 300ms delay is still present when when the app is added to the homescreen and has the following meta tag:

<meta name="apple-mobile-web-app-capable" content="yes">

So you have to also take window.navigator.standalone into account - if it is true, don't disable fastclick.

@nihilus
Copy link

nihilus commented Jun 1, 2016

Yes it is still there in UIWebview on 9.3.x

@HipsterZipster
Copy link

@nihilus When you say the delay is still there in UIWebView on 9.3.x, does that mean that it will be there in any Cordova apps as well? Is Apple's Release notes ONLY speaking about Safari and not the actual webview that safari is using?

@nihilus
Copy link

nihilus commented Jun 21, 2016

@HipsterZipster: That's correct. It is there in Cordova apps unless you use the flawed wkwebview.

@andrewmichaelsmith
Copy link

@nihilus Are you able to elaborae on what's flawed about the wkwebview?

@PierBover
Copy link

I'm not @nihilus but although the performance of WkWebView has been greatly increased, it's really full of bugs.

Check the Webkit issues. There are bugs that have been there for 3 or more years. I've reported a few of those myself and never really received an answer. Apple is crippling HTML5 app development.

army8735 added a commit to migijs/migi that referenced this issue Jul 31, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests