New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable on iOS 9.3+ #450

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

Comments

Projects
None yet
@kornelski
Contributor

kornelski commented Jan 11, 2016

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

This comment has been minimized.

Show comment
Hide comment
@nicooprat

nicooprat commented Jan 12, 2016

🎉!

@jjhampton

This comment has been minimized.

Show comment
Hide comment
@jjhampton

jjhampton Jan 21, 2016

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?

jjhampton commented Jan 21, 2016

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

This comment has been minimized.

Show comment
Hide comment
@madskonradsen

madskonradsen Jan 24, 2016

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

madskonradsen commented Jan 24, 2016

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

@mgol

This comment has been minimized.

Show comment
Hide comment
@mgol

mgol 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.

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

This comment has been minimized.

Show comment
Hide comment
@samuelmburu

samuelmburu Feb 23, 2016

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?

samuelmburu commented Feb 23, 2016

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

This comment has been minimized.

Show comment
Hide comment
@mgol

mgol 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. :)

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

This comment has been minimized.

Show comment
Hide comment
@michielvaneerd

michielvaneerd Apr 28, 2016

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.

michielvaneerd commented Apr 28, 2016

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

This comment has been minimized.

Show comment
Hide comment
@nihilus

nihilus Jun 1, 2016

Yes it is still there in UIWebview on 9.3.x

nihilus commented Jun 1, 2016

Yes it is still there in UIWebview on 9.3.x

@HipsterZipster

This comment has been minimized.

Show comment
Hide comment
@HipsterZipster

HipsterZipster Jun 21, 2016

@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?

HipsterZipster commented Jun 21, 2016

@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

This comment has been minimized.

Show comment
Hide comment
@nihilus

nihilus Jun 21, 2016

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

nihilus commented Jun 21, 2016

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

@andrewmichaelsmith

This comment has been minimized.

Show comment
Hide comment
@andrewmichaelsmith

andrewmichaelsmith Nov 29, 2016

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

andrewmichaelsmith commented Nov 29, 2016

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

@PierBover

This comment has been minimized.

Show comment
Hide comment
@PierBover

PierBover Feb 10, 2017

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.

PierBover commented Feb 10, 2017

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 join this conversation on GitHub. Already have an account? Sign in to comment