这是我最后使用的。它使用了一些 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);
}
}
}
});
}