2019-04-19 22:33:06 +00:00
|
|
|
/**
|
|
|
|
* Copyright 2017 Google Inc. All rights reserved.
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
2022-10-10 13:30:12 +00:00
|
|
|
import {Viewport} from './PuppeteerViewport.js';
|
|
|
|
|
2021-04-12 13:57:05 +00:00
|
|
|
/**
|
|
|
|
* @public
|
|
|
|
*/
|
|
|
|
export interface Device {
|
2020-04-14 09:55:29 +00:00
|
|
|
userAgent: string;
|
2022-10-10 13:30:12 +00:00
|
|
|
viewport: Viewport;
|
2020-04-14 11:08:52 +00:00
|
|
|
}
|
2020-04-14 09:55:29 +00:00
|
|
|
|
2022-10-10 13:30:12 +00:00
|
|
|
const knownDevices = [
|
2019-04-19 22:33:06 +00:00
|
|
|
{
|
2020-05-07 10:54:55 +00:00
|
|
|
name: 'Blackberry PlayBook',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+',
|
|
|
|
viewport: {
|
|
|
|
width: 600,
|
|
|
|
height: 1024,
|
|
|
|
deviceScaleFactor: 1,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Blackberry PlayBook landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+',
|
|
|
|
viewport: {
|
|
|
|
width: 1024,
|
|
|
|
height: 600,
|
|
|
|
deviceScaleFactor: 1,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'BlackBerry Z30',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+',
|
|
|
|
viewport: {
|
|
|
|
width: 360,
|
|
|
|
height: 640,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'BlackBerry Z30 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+',
|
|
|
|
viewport: {
|
|
|
|
width: 640,
|
|
|
|
height: 360,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy Note 3',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
|
|
|
|
viewport: {
|
|
|
|
width: 360,
|
|
|
|
height: 640,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy Note 3 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
|
|
|
|
viewport: {
|
|
|
|
width: 640,
|
|
|
|
height: 360,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy Note II',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
|
|
|
|
viewport: {
|
|
|
|
width: 360,
|
|
|
|
height: 640,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy Note II landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
|
|
|
|
viewport: {
|
|
|
|
width: 640,
|
|
|
|
height: 360,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy S III',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
|
|
|
|
viewport: {
|
|
|
|
width: 360,
|
|
|
|
height: 640,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy S III landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
|
|
|
|
viewport: {
|
|
|
|
width: 640,
|
|
|
|
height: 360,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy S5',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 360,
|
|
|
|
height: 640,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy S5 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 640,
|
|
|
|
height: 360,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
2021-09-11 17:50:35 +00:00
|
|
|
{
|
|
|
|
name: 'Galaxy S8',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 360,
|
|
|
|
height: 740,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy S8 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 740,
|
|
|
|
height: 360,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy S9+',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 320,
|
|
|
|
height: 658,
|
|
|
|
deviceScaleFactor: 4.5,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy S9+ landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 658,
|
|
|
|
height: 320,
|
|
|
|
deviceScaleFactor: 4.5,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy Tab S4',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 712,
|
|
|
|
height: 1138,
|
|
|
|
deviceScaleFactor: 2.25,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Galaxy Tab S4 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 1138,
|
|
|
|
height: 712,
|
|
|
|
deviceScaleFactor: 2.25,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
2020-05-07 10:54:55 +00:00
|
|
|
{
|
|
|
|
name: 'iPad',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 768,
|
|
|
|
height: 1024,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPad landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 1024,
|
|
|
|
height: 768,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
2022-02-02 17:40:54 +00:00
|
|
|
{
|
|
|
|
name: 'iPad (gen 6)',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 768,
|
|
|
|
height: 1024,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPad (gen 6) landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 1024,
|
|
|
|
height: 768,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPad (gen 7)',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 810,
|
|
|
|
height: 1080,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPad (gen 7) landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 1080,
|
|
|
|
height: 810,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
2020-05-07 10:54:55 +00:00
|
|
|
{
|
|
|
|
name: 'iPad Mini',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 768,
|
|
|
|
height: 1024,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPad Mini landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 1024,
|
|
|
|
height: 768,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPad Pro',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 1024,
|
|
|
|
height: 1366,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPad Pro landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 1366,
|
|
|
|
height: 1024,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
2022-02-02 17:40:54 +00:00
|
|
|
{
|
|
|
|
name: 'iPad Pro 11',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 834,
|
|
|
|
height: 1194,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPad Pro 11 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 1194,
|
|
|
|
height: 834,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
2020-05-07 10:54:55 +00:00
|
|
|
{
|
|
|
|
name: 'iPhone 4',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53',
|
|
|
|
viewport: {
|
|
|
|
width: 320,
|
|
|
|
height: 480,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 4 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53',
|
|
|
|
viewport: {
|
|
|
|
width: 480,
|
|
|
|
height: 320,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 5',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
|
|
|
|
viewport: {
|
|
|
|
width: 320,
|
|
|
|
height: 568,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 5 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
|
|
|
|
viewport: {
|
|
|
|
width: 568,
|
|
|
|
height: 320,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 6',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 375,
|
|
|
|
height: 667,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 6 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 667,
|
|
|
|
height: 375,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 6 Plus',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 414,
|
|
|
|
height: 736,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 6 Plus landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 736,
|
|
|
|
height: 414,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 7',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 375,
|
|
|
|
height: 667,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 7 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 667,
|
|
|
|
height: 375,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 7 Plus',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 414,
|
|
|
|
height: 736,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 7 Plus landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 736,
|
|
|
|
height: 414,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 8',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 375,
|
|
|
|
height: 667,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 8 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 667,
|
|
|
|
height: 375,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 8 Plus',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 414,
|
|
|
|
height: 736,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 8 Plus landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 736,
|
|
|
|
height: 414,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone SE',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
|
|
|
|
viewport: {
|
|
|
|
width: 320,
|
|
|
|
height: 568,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone SE landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
|
|
|
|
viewport: {
|
|
|
|
width: 568,
|
|
|
|
height: 320,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone X',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 375,
|
|
|
|
height: 812,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone X landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 812,
|
|
|
|
height: 375,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone XR',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 414,
|
|
|
|
height: 896,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone XR landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 896,
|
|
|
|
height: 414,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
2021-01-08 09:13:45 +00:00
|
|
|
{
|
|
|
|
name: 'iPhone 11',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 414,
|
|
|
|
height: 828,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 11 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 828,
|
|
|
|
height: 414,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 11 Pro',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 375,
|
|
|
|
height: 812,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 11 Pro landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 812,
|
|
|
|
height: 375,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 11 Pro Max',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 414,
|
|
|
|
height: 896,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 11 Pro Max landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 896,
|
|
|
|
height: 414,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
2022-02-02 17:40:54 +00:00
|
|
|
{
|
|
|
|
name: 'iPhone 12',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 390,
|
|
|
|
height: 844,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 12 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 844,
|
|
|
|
height: 390,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 12 Pro',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 390,
|
|
|
|
height: 844,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 12 Pro landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 844,
|
|
|
|
height: 390,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 12 Pro Max',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 428,
|
|
|
|
height: 926,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 12 Pro Max landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 926,
|
|
|
|
height: 428,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 12 Mini',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 375,
|
|
|
|
height: 812,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 12 Mini landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 812,
|
|
|
|
height: 375,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 13',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 390,
|
|
|
|
height: 844,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 13 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 844,
|
|
|
|
height: 390,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 13 Pro',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 390,
|
|
|
|
height: 844,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 13 Pro landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 844,
|
|
|
|
height: 390,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 13 Pro Max',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 428,
|
|
|
|
height: 926,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 13 Pro Max landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 926,
|
|
|
|
height: 428,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 13 Mini',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 375,
|
|
|
|
height: 812,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'iPhone 13 Mini landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
|
|
|
|
viewport: {
|
|
|
|
width: 812,
|
|
|
|
height: 375,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
2020-05-07 10:54:55 +00:00
|
|
|
{
|
|
|
|
name: 'JioPhone 2',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5',
|
|
|
|
viewport: {
|
|
|
|
width: 240,
|
|
|
|
height: 320,
|
|
|
|
deviceScaleFactor: 1,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'JioPhone 2 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5',
|
|
|
|
viewport: {
|
|
|
|
width: 320,
|
|
|
|
height: 240,
|
|
|
|
deviceScaleFactor: 1,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Kindle Fire HDX',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true',
|
|
|
|
viewport: {
|
|
|
|
width: 800,
|
|
|
|
height: 1280,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Kindle Fire HDX landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true',
|
|
|
|
viewport: {
|
|
|
|
width: 1280,
|
|
|
|
height: 800,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'LG Optimus L70',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 384,
|
|
|
|
height: 640,
|
|
|
|
deviceScaleFactor: 1.25,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'LG Optimus L70 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 640,
|
|
|
|
height: 384,
|
|
|
|
deviceScaleFactor: 1.25,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Microsoft Lumia 550',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
|
|
|
|
viewport: {
|
|
|
|
width: 640,
|
|
|
|
height: 360,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Microsoft Lumia 950',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
|
|
|
|
viewport: {
|
|
|
|
width: 360,
|
|
|
|
height: 640,
|
|
|
|
deviceScaleFactor: 4,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Microsoft Lumia 950 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
|
|
|
|
viewport: {
|
|
|
|
width: 640,
|
|
|
|
height: 360,
|
|
|
|
deviceScaleFactor: 4,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 10',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 800,
|
|
|
|
height: 1280,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 10 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 1280,
|
|
|
|
height: 800,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 4',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 384,
|
|
|
|
height: 640,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 4 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 640,
|
|
|
|
height: 384,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 5',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 360,
|
|
|
|
height: 640,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 5 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 640,
|
|
|
|
height: 360,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 5X',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 412,
|
|
|
|
height: 732,
|
|
|
|
deviceScaleFactor: 2.625,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 5X landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 732,
|
|
|
|
height: 412,
|
|
|
|
deviceScaleFactor: 2.625,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 6',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 412,
|
|
|
|
height: 732,
|
|
|
|
deviceScaleFactor: 3.5,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 6 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 732,
|
|
|
|
height: 412,
|
|
|
|
deviceScaleFactor: 3.5,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 6P',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 412,
|
|
|
|
height: 732,
|
|
|
|
deviceScaleFactor: 3.5,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 6P landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 732,
|
|
|
|
height: 412,
|
|
|
|
deviceScaleFactor: 3.5,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 7',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 600,
|
|
|
|
height: 960,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nexus 7 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 960,
|
|
|
|
height: 600,
|
|
|
|
deviceScaleFactor: 2,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nokia Lumia 520',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)',
|
|
|
|
viewport: {
|
|
|
|
width: 320,
|
|
|
|
height: 533,
|
|
|
|
deviceScaleFactor: 1.5,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nokia Lumia 520 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)',
|
|
|
|
viewport: {
|
|
|
|
width: 533,
|
|
|
|
height: 320,
|
|
|
|
deviceScaleFactor: 1.5,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nokia N9',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13',
|
|
|
|
viewport: {
|
|
|
|
width: 480,
|
|
|
|
height: 854,
|
|
|
|
deviceScaleFactor: 1,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Nokia N9 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13',
|
|
|
|
viewport: {
|
|
|
|
width: 854,
|
|
|
|
height: 480,
|
|
|
|
deviceScaleFactor: 1,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Pixel 2',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 411,
|
|
|
|
height: 731,
|
|
|
|
deviceScaleFactor: 2.625,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Pixel 2 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 731,
|
|
|
|
height: 411,
|
|
|
|
deviceScaleFactor: 2.625,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Pixel 2 XL',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 411,
|
|
|
|
height: 823,
|
|
|
|
deviceScaleFactor: 3.5,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Pixel 2 XL landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 823,
|
|
|
|
height: 411,
|
|
|
|
deviceScaleFactor: 3.5,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
2021-09-11 17:50:35 +00:00
|
|
|
{
|
|
|
|
name: 'Pixel 3',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 393,
|
|
|
|
height: 786,
|
|
|
|
deviceScaleFactor: 2.75,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Pixel 3 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 786,
|
|
|
|
height: 393,
|
|
|
|
deviceScaleFactor: 2.75,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Pixel 4',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 353,
|
|
|
|
height: 745,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Pixel 4 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 745,
|
|
|
|
height: 353,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
2022-02-02 17:40:54 +00:00
|
|
|
{
|
|
|
|
name: 'Pixel 4a (5G)',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 353,
|
|
|
|
height: 745,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Pixel 4a (5G) landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 745,
|
|
|
|
height: 353,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Pixel 5',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 393,
|
|
|
|
height: 851,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Pixel 5 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 851,
|
|
|
|
height: 393,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Moto G4',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 360,
|
|
|
|
height: 640,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Moto G4 landscape',
|
|
|
|
userAgent:
|
|
|
|
'Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36',
|
|
|
|
viewport: {
|
|
|
|
width: 640,
|
|
|
|
height: 360,
|
|
|
|
deviceScaleFactor: 3,
|
|
|
|
isMobile: true,
|
|
|
|
hasTouch: true,
|
|
|
|
isLandscape: true,
|
|
|
|
},
|
|
|
|
},
|
2022-10-10 13:30:12 +00:00
|
|
|
] as const;
|
2022-06-15 10:09:22 +00:00
|
|
|
|
2022-10-10 13:30:12 +00:00
|
|
|
const knownDevicesByName = {} as Record<
|
|
|
|
typeof knownDevices[number]['name'],
|
|
|
|
Device
|
|
|
|
>;
|
|
|
|
|
|
|
|
for (const device of knownDevices) {
|
|
|
|
knownDevicesByName[device.name] = device;
|
|
|
|
}
|
2020-04-14 09:55:29 +00:00
|
|
|
|
2021-04-06 08:58:01 +00:00
|
|
|
/**
|
2022-10-10 13:30:12 +00:00
|
|
|
* A list of devices to be used with {@link Page.emulate}.
|
2022-06-27 07:24:23 +00:00
|
|
|
*
|
|
|
|
* @example
|
|
|
|
*
|
2022-07-01 11:52:39 +00:00
|
|
|
* ```ts
|
2022-10-10 13:30:12 +00:00
|
|
|
* import {KnownDevices} from 'puppeteer';
|
|
|
|
* const iPhone = KnownDevices['iPhone 6'];
|
2022-06-27 07:24:23 +00:00
|
|
|
*
|
|
|
|
* (async () => {
|
|
|
|
* const browser = await puppeteer.launch();
|
|
|
|
* const page = await browser.newPage();
|
|
|
|
* await page.emulate(iPhone);
|
|
|
|
* await page.goto('https://www.google.com');
|
|
|
|
* // other actions...
|
|
|
|
* await browser.close();
|
|
|
|
* })();
|
|
|
|
* ```
|
|
|
|
*
|
|
|
|
* @public
|
2021-04-06 08:58:01 +00:00
|
|
|
*/
|
2022-10-10 13:30:12 +00:00
|
|
|
export const KnownDevices = Object.freeze(knownDevicesByName);
|
2021-04-12 13:57:05 +00:00
|
|
|
|
2022-10-10 13:30:12 +00:00
|
|
|
/**
|
|
|
|
* @deprecated Import {@link KnownDevices}
|
|
|
|
*
|
|
|
|
* @public
|
|
|
|
*/
|
|
|
|
export const devices = KnownDevices;
|