我正在尝试让 Enquire.js 为旧版浏览器工作。我正在使用文档中的深度支持方法:
Modernizr.load([
{
test: window.matchMedia,
nope: "media.match.min.js"
},
"enquire-2.0.0.min.js",
"plugins.js", // jquery plugins
"main.js" // enquire-triggered functions + general code
]);
问题是我使用的是来自 initializr.com 的 Modernizr+Respond,所以测试总是通过。这会在 IE8/9 中的 enquire.js 中触发 JS 错误。
通过删除 respond.js 并仅使用普通的 Modernizr 测试失败,Media.match 加载,JS 错误得到解决。但是,我失去了 IE8 中的媒体查询支持。
让所有东西一起工作的最佳方法是什么?我曾尝试通过 Modernizr 同时加载 respond.js 和 Media.match。如果我先加载它,我会看到与以前相同的 JS 错误。如果我第二次加载它,媒体查询将不起作用。我也试过只加载 Media.match 的 INSTEAD,但 JS 错误返回。
谢谢。
编辑:
发布此消息后不久,我回滚查询 1.5.6,使用了 Respond.js、shouldDegrade 选项,并且没有进行 Modernizr 测试。IE8/9 中没有 JS 错误,到目前为止一切似乎都运行良好。
我仍然很想知道是否有办法让它与 2.0 一起使用,或者我现在是否应该坚持使用 1.5.6?