javascript - 使用 modernizr 检测设备

标签 javascript jquery modernizr

我设计了一个页面,它使用设备宽度检测设备,并基于它加载受尊重的 js 和 css 文件。我如何评估 modernizr 中的 3 个条件,哪个是检测设备(台式机、移动设备或平板电脑)的更好方法

<script type="text/javascript">
            Modernizr.load([
                {
                    test: Modernizr.mq('(min-device-width: 320px) and (max-device-width: 728px)'),
                    yep : ['mob.css', 'jquery.mobile-1.1.0.css', 'jquery.mobile-1.1.0.js'],
                    nope : 'pc.css'
                }
            ]);

            if (!Modernizr.borderradius) {
                $.getScript("jquery.corner.js", function () {
                    $("input").corner();
                });
            }

            if(!Modernizr.required) {
                $("#frmSearch").submit(function(){
                    if($.trim($("#txtSearch").val().length) == 0){
                        alert('Please, Enter some keyword');
                        return false;
                    }
                });
            }
        </script>

最佳答案

如果您打算在 Modernizr 中执行此操作,我会说不要尝试编写三向条件;编写三个单独的真/假条件。

也就是说,不要有一个条件是“台式机”、“移动设备”或“平板电脑”,您应该有三个条件,分别是“台式机”、“移动设备”或“平板电脑”,每个条件都为真或为假.

希望这能回答您的问题。

但是,我要提出的另一点是如何在这些类型之间划清界限?

很容易说 iPhone 是手机,iPad 是平板电脑,但两者之间有各种尺寸的设备;手机变成平板电脑的分界点在哪里?那些可以连接到基本单元成为笔记本电脑的平板电脑呢?

您在这里遇到的麻烦是外形非常灵活;因此您可能永远无法完全确定某些设备属于哪个类别。您最好使用响应式 CSS 和 CSS 媒体查询让您的网站动态调整以适应屏幕分辨率。

希望对您有所帮助。

关于javascript - 使用 modernizr 检测设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10663727/

相关文章:

javascript - 使用钩子(Hook)处理/删除组件

javascript - 对象字面量中的这个作用域

javascript - 文本框聚焦

javascript - mordernizr 中这是什么 javascript 模式?

javascript - 检测视口(viewport)单元(使用 modernizr 或普通 js)并提供适当的样式表

javascript - 需要带有 Webpack 的 Modernizr

javascript - 使用 map() 返回数组时 Uncaught Error

javascript - Angular 图表无法让标签按我需要的方式工作

javascript - react 导入根路径助手

javascript - 为多个对象设置动画时避免许多嵌套回调