Я исследовал это для моего проекта ReView (Responsive Viewport).Я использую комбинацию следующего:
У большинства мобильных браузеров «окно» заблокировано с левой стороны.Так что, если это не ноль, вероятно, это будет окно браузера настольного компьютера.
- window.devicePixelRatio и screen.width
Если dpr равно 1 и ширина экрана сообщаетсятакой же большой через screen.width, вероятно, для рабочего стола.
Редко можно найти настольный монитор в портретном режиме.Однако это может произойти.
Маловероятно, если при использовании вашего сайта / приложения будет несколько изменений ориентации.Это подразумевает, что пользователь рабочего стола будет крутить свой экран ... очень маловероятно.
Сочетание их с некоторым здравым смыслом, и вы можете сделать довольно твердое предположение.
Проект, упомянутый вместе сбольше информации на http://responsiveviewport.com
Надеюсь, что поможет.