Javascript 使用Modernizer检测设备
我设计了一个页面,该页面使用设备宽度检测设备,并基于此加载受尊重的js和css文件。我如何评估Modernizer中的3种情况,以及哪种方法是检测设备(台式机、移动设备或平板电脑)的更好方法Javascript 使用Modernizer检测设备,javascript,jquery,modernizr,Javascript,Jquery,Modernizr,我设计了一个页面,该页面使用设备宽度检测设备,并基于此加载受尊重的js和css文件。我如何评估Modernizer中的3种情况,以及哪种方法是检测设备(台式机、移动设备或平板电脑)的更好方法 现代化负荷([ { 测试:modernizer.mq('(最小设备宽度:320px)和(最大设备宽度:728px)'), 是:['mob.css','jquery.mobile-1.1.0.css','jquery.mobile-1.1.0.js'], 不是:“pc.css” } ]); 如果(!Mode
现代化负荷([
{
测试:modernizer.mq('(最小设备宽度:320px)和(最大设备宽度:728px)'),
是:['mob.css','jquery.mobile-1.1.0.css','jquery.mobile-1.1.0.js'],
不是:“pc.css”
}
]);
如果(!Modernizer.borderradius){
$.getScript(“jquery.corner.js”,函数(){
$(“输入”).corner();
});
}
如果(!需要现代化){
$(“#frmSearch”).submit(函数(){
if($.trim($(“#txtSearch”).val().length)==0){
警报('请输入一些关键字');
返回false;
}
});
}
如果要在Modernizer中实现这一点,我会说不要尝试编写三向条件;写出三个独立的真/假条件
ie不应该只有一个条件是“桌面”、“手机”或“平板电脑”,而应该有三个条件,分别称为“桌面”、“手机”或“平板电脑”,每个条件都是正确或错误的
希望这能回答你的问题
然而,我想提出的另一点是,如何在这些类型之间划清界限
很容易说iPhone是手机,iPad是平板电脑,但这两者之间有各种尺寸的设备;手机成为平板电脑的分界点在哪里?那么,那些可以连接到基本单元成为笔记本电脑的平板电脑呢
这里的问题是形状因素是非常不稳定的;因此,对于某些设备,您可能永远无法确定它们属于哪一类。您最好只是使用响应性CSS和CSS媒体查询使您的站点动态调整到屏幕分辨率
希望有帮助。好的,你能给我举个例子吗?因为我已经使用了modernizr.mqfirst,所以我想使用3个条件来检测设备。我如何在《现代化》中写出三个条件?是的,你是对的。我通过改变浏览器窗口的大小来检查它,我的UI变差了。我想,如果浏览器的最小宽度是320px,它应该显示移动用户界面。如何进行此更改?如何在Modernizer中编写3个条件以检查桌面、移动设备和桌面?@chacko-三次分别调用
modernizer.load()
。如何定义台式机、移动设备和平板电脑之间的差异取决于您,但您需要针对您要检查的每个不同条件进行单独的Modernizer.load()测试,每个测试都有自己的yep
和nope
响应。
<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>