これが私が最後に使ったものです。少しjqueryを使用しますが、必要に応じてjqueryから変換することもできます。
まず、次のようにhtmlを設定します。
<link class="matchmedia" data-href="static/css/mobile.css" data-rel="stylesheet" data-max="739">
data-maxは、最大幅をチェックするように以下の関数に指示する方法です。関数が呼び出されると、「matchmedia」というクラスを持つ要素が検索され、data-maxとdata-minで指定した制約がテストされます。これらのテストに合格すると、名前の属性のコピーが作成されます。 「data-」で始まり、値もコピーします。そして、ちょっとプレスト私たちは条件付きの読み込みがあります。
ws.width = <your favourite method of getting the width>;
function mediaMatchHTML() {
$(".matchmedia").each(function(){
var min = this.getAttribute("data-min"); //in pixels
var max = this.getAttribute("data-max");
//Check condition
if ((min === null || ws.width >= min) && (max === null || ws.width <= max)) {
for (var c=0; c<this.attributes.length; c++) {
var name = this.attributes[c].name.slice(5);
if ("data-"+name == this.attributes[c].name) { //is this lined up for conversion?
this.setAttribute(name, this.attributes[c].value);
}
}
}
});
}