What's the best way to detect whether the client is a tablet or a phone?

后端 未结 4 1643
有刺的猬
有刺的猬 2021-01-22 20:24

I am currently developing a client side application which will be designed for both, smartphones and tablets. Therefore it will get two different layout modes.

While th

相关标签:
4条回答
  • +1 for testing screen resolution rather than user agent (and iPhone vs iPad is a very simplistic test anyway—what about all those other tablet devices??)

    In terms of testing for iPhone 4, i.e. retina displays, this test should work in your Javascript:

    if(window.devicePixelRatio > 1){
        // Retina device...
    
    0 讨论(0)
  • 2021-01-22 20:49

    You could detect whether it is a phone using a http://detectmobilebrowser.com/ script. If not, you can assume it is a tablet (since, as you mentioned, desktop browsers are irrelevant for this app).

    0 讨论(0)
  • 2021-01-22 20:54

    I would go with detecting the screen resolution, as it should not really matter if the browser is a phone or tablet, the only thing that should affect is the layout. And the best thing to determine which sized layout to use, would be the resolution.

    0 讨论(0)
  • 2021-01-22 20:56

    One way to do it is to check the user agent.

    var UA = navigator.userAgent;
    if (UA.indexOf("iPad") != -1) {
        // iPad
    } else if (UA.indexOf("iPhone") != -1) {
        // iPhone
    }
    
    0 讨论(0)
提交回复
热议问题