我正在尝试检测用户何时在我的应用程序上使用移动终端。通常,我们会使用用户代理或触摸屏进行检测,但开发工具中的Chrome移动的模式会改变这两种模式。你有什么想法,我怎么能检测到移动的或桌面,而不被欺骗的Chrome开发工具?
wz8daaqr1#
而不是去的设备类型,你可以检查操作系统。Here是您可以使用的可能值的列表。
windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE']; android = "Android"; typeOfOS = window.navigator.platform; if (windowsPlatforms.includes(typeOfOS)) { //do for windows } else if(typeOfOS === android){ //do for android }
cetgtptt2#
你可以在CSS里做。您可以使用@media来查看屏幕大小是否比通常桌面的屏幕大小小,通过此操作,您将能够使应用程序具有响应性。看看这个代码:
body { --background-image: url('https://thumbs.dreamstime.com/b/vertical-banner-template-hands-typing-computer-office-supplies-distance-education-e-learning-obtaining-university-156390588.jpg'); margin: 0; padding: 0; box-sizing: border-box; background-image: var(--background-image); background-size: 100vw 100vh; z-index: -1000; } #submit-form { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); height: 180px; width: 300px; background-color: white; border-radius: 10px; border: 2px dashed; display: flex; flex-direction: column; align-items: center; justify-content: space-around; z-index: 1000; } #email-input { height: 30px; width: 220px; border-radius: 10px; } #submit-button { height: 30px; width: 80px; border-radius: 10px; background-color: lightgreen; border: 1px dashed; } @media all and (min-width: 1000px) { body { background-image: url('https://img.freepik.com/free-vector/online-education-students-view-lessons-through-mobile-devices-during-distance-learning_178888-361.jpg?w=2000'); } #submit-form { height: 250px; width: 500px; } #email-input { height: 50px; width: 300px; border-radius: 10px; } }
在这里,我首先为移动的设备设计网站,然后,我检查用户是否在桌面上,如果是,我再次使网站响应。这是针对样式部分的,但是,如果你想在JavaScript中检测它呢?你可以使用一个简单的函数:
function findUserDevice() { const isOnMobile = false; if(window.innerWidth < window.innerHeight) { isOnMobile = true; } return isOnMobile; }
这是我平时用的,希望对大家有帮助!
hgc7kmma3#
一种不检查操作系统或窗口大小的方法是通过功能检测,通过检查触摸事件,如下所示:
const isMobile = 'ontouchstart' in window || navigator.maxTouchPoints > 0;
这将返回一个布尔值,以确定用户是否在移动的上,而不会在移动的上使用桌面视图。
3条答案
按热度按时间wz8daaqr1#
而不是去的设备类型,你可以检查操作系统。Here是您可以使用的可能值的列表。
cetgtptt2#
你可以在CSS里做。您可以使用@media来查看屏幕大小是否比通常桌面的屏幕大小小,通过此操作,您将能够使应用程序具有响应性。看看这个代码:
在这里,我首先为移动的设备设计网站,然后,我检查用户是否在桌面上,如果是,我再次使网站响应。
这是针对样式部分的,但是,如果你想在JavaScript中检测它呢?
你可以使用一个简单的函数:
这是我平时用的,希望对大家有帮助!
hgc7kmma3#
一种不检查操作系统或窗口大小的方法是通过功能检测,通过检查触摸事件,如下所示:
这将返回一个布尔值,以确定用户是否在移动的上,而不会在移动的上使用桌面视图。