SelectivizrをIE7/8およびRequireJSで動作させる経験はありますか?
私はいつものように条件付きコメントを追加しようとしました、私はこれまで問題なく動作していました、私はローカルホストで実行しています。
これは、Selectivizrの前にjQueryを実行する必要があることと関係があると思います。これは、RequireJSが複雑にしているようです。
どんな助けでも素晴らしいでしょう、乾杯。
SelectivizrをIE7/8およびRequireJSで動作させる経験はありますか?
私はいつものように条件付きコメントを追加しようとしました、私はこれまで問題なく動作していました、私はローカルホストで実行しています。
これは、Selectivizrの前にjQueryを実行する必要があることと関係があると思います。これは、RequireJSが複雑にしているようです。
どんな助けでも素晴らしいでしょう、乾杯。
何らかの理由でyepnopeメソッドが機能しませんでしたが、modernizrの前であっても、最初のスクリプトとしてselectivizrが読み込まれます。これは、yepnopeが機能する非同期の方法と関係があるはずです。
私の場合、これを解決する方法は、htmlタグの前に条件付きコメントを追加することです。
<!--[if (gte IE 6)&(lte IE 8)]><html class="lt-ie9"><![endif]-->
次に、requirejsから呼び出す別の「ie-tidy.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内で、次のことを行います(他のie固有のスクリプトの中でも)
define(['jquery'], function ($) {
"use strict"
$(function() {
if ($('html.lt-ie9').size()) {
require(['jquery', 'selectivizr']);
}
});
});
これは私が望むように正確に機能し、jQueryの後にselectivizrをロードし、期待どおりにselectivizrクラスを適用します。助けてくれてありがとう@Dzulqarnain
Selectivizr Web サイトによると、フロント ページにある表で定義されているライブラリの 1 つを指定する必要があります。
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
});