有沒有人有任何獲得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