Yepnope和Modernizr的screen.width条件(Yepnope & Moderni

2019-09-01 09:01发布

我想(本地)使用Yepnope与Modernizr的加载CSS和JS文件。 所以,我可以轻松地管理好这些文件和代码。

这是当前布局:

Modernizr.load([
    {
        test: Modernizr.mq('all and (max-width: 1070px)'),
        yep: '/css/smartdevice.css','/js/smartdevice.js',
    }
    ,
    {
        test: Modernizr.mq('all and (min-width: 481px) and (max-width: 1069px)'),
        yep: '/css/tablet.css','/js/tablet.js',
    },
    {
        test: Modernizr.mq('all and (max-width: 1070px)'),
        yep: '/css/screen.css','/js/screen.js',
    }
]);

在我是相当新的JS,但我已经使用jQuery的5月场合。 然而,他们所有负载一次,反正是有,我可以加载基于对PX宽度CSS文件? (参考以上的值)。 我知道,你可以在我的位置上做到这一点的服务器端,但是。

它必须是在本地的js一边......我目前在SCSS代码。 一切都很好为此目的,它是注入的文件/文件显示在窗口宽度的文件只是的情况。

我相信,我需要添加一个if语句,但将大大提供任何帮助!

-Neil

PS我使用CodeKit&SCSS本地运行,上了一个新的iMac。

Answer 1:

yep: '/css/smartdevice.css','/js/smartdevice.js',是非法的JS。 如果你想这是一个数组,使用yep: ['/css/smartdevice.css','/js/smartdevice.js'], 每当你看到一个JavaScript对象内一个逗号,假装有一个换行,你会看到什么错在这里:

Modernizr.load([
{
    test: Modernizr.mq('all and (max-width: 1070px)'), // prop:val(=function)
    yep: '/css/smartdevice.css',                       // prop:val(=string)
    '/js/smartdevice.js',                              // ???
}
,...


Answer 2:

几点建议:

  1. 替换“所有”与“唯一全部”标签
  2. 取代“最大宽度:1070px”与移动设备宽度在第一测试(320等)


文章来源: Yepnope & Modernizr screen.width Conditions