有没有人有任何获得Selectivizr与IE7/8和RequireJS一起使用的经验?使用Selectivizr与RequireJS(jQuery)
我已经尝试按照惯例添加条件注释,我以前没有任何问题,我正在使用本地主机。
我认为这与jQuery需要在Selectivizr之前运行有关,这是RequireJS似乎复杂化的一部分。
任何帮助将是伟大的,欢呼声。
有没有人有任何获得Selectivizr与IE7/8和RequireJS一起使用的经验?使用Selectivizr与RequireJS(jQuery)
我已经尝试按照惯例添加条件注释,我以前没有任何问题,我正在使用本地主机。
我认为这与jQuery需要在Selectivizr之前运行有关,这是RequireJS似乎复杂化的一部分。
任何帮助将是伟大的,欢呼声。
出于某种原因,yepnope方法不起作用,它仍然会加载selectivizr作为第一个脚本,甚至Modernizr的前,这必须是与yepnope工作在异步方式。
我在我的情况下解决这一问题的方法是我的HTML标记之前添加条件注释
<!--[if (gte IE 6)&(lte IE 8)]><html class="lt-ie9"><![endif]-->
我再有一个独立的“即,tidy.js”这是我从需要调用JS。所以,我的配置看起来是这样的(这是下调)
requirejs.config({
paths: {
jquery: "../jquery-1.7.2.min",
app: ".",
selectivizr: '../selectivizr-min'
},
"shim": {
"cookie": ["jquery"],
"selectivizr": ["jquery"]
}
});
requirejs(['jquery', 'app/header', 'app/ie-tidy'], function ($) {
});
然后在我的IE-tidy.js我这样做(在其他特定即脚本)
define(['jquery'], function ($) {
"use strict"
$(function() {
if ($('html.lt-ie9').size()) {
require(['jquery', 'selectivizr']);
}
});
});
这正是工作我希望如何,在jQuery之后加载selectivizr并按预期应用selectivizr类。感谢您的帮助@Dzulqarnain
根据Selectivizr网站,您需要指定位于首页的表中定义的库之一。
在定义了jQuery之后,您总是可以使用YepNope或类似的东西加载Selectivizr。
例如,
require.config({
shim: {
'yepnope' : {
exports: 'yepnope'
}
},
paths: {
'jquery' : 'jquery-min',
'yepnope' : 'yepnope-min'
}
});
require(['jquery', 'yepnope'], function($){
yepnope({
load: ['iegt5!ielt9!selectivizr-min.js']
});
// do other stuff
});
感谢你的工作,就像一个魅力。 – befletcher 2013-06-29 15:35:18