我有一些应嵌入页面的小部件,应该是可拖动的&调整大小。因此,目前的方法是检查页面是否已包含jQuery,jQuery.ui和jQuery.ui样式。如果它具有所有这些,只需使用它们,否则 - 从我们的服务站点插入它们,并适当地标记它们。我对它的实施方式有一些疑问,特别是在这里── 首先它检查jQuery。如果找到,它会尝试查找jQuery.ui样式。它通过他们的名字寻找2个共同的课程。子串:
for(var i = 0, j = stylesheets.length; i<j; i++){
var classes = stylesheets[i].rules;
if(classes){ console.log({classes:classes});
for (var x = 0, y = classes.length; x < y; x++) {
if( classes[x].selectorText.indexOf('.ui-draggable')!=-1
|| classes[x].selectorText.indexOf('.ui-resizable')!=-1) {
if(classes[x].cssText){
console.log('found: '+classes[x].cssText);
classCount++;
if(classCount==2){
break checkStyles;
}
}
}
}
}else console.log('no classes');
}
这是重点。我怎么能确定如果它发现2个类意味着有所有必要的类来保证适当的小部件行为? 或者我应该添加这些样式无论他们在页面上的存在?但如果我这样做,那么它将使样式内容加倍。这看起来像是一个两难的局面。那么,如果有标准的成熟方法吗?
UPD。重点是不检测jQuery,而是如何最好地管理jQuery.ui样式。
答案 0 :(得分:3)
jQuery添加了一个全局“jQuery”对象(jQuery.ui也是如此),所以你可以这样做:
if (typeof jQuery != "undefined") {
if (typeof jQuery.ui != "undefined") {
// You've got jQuery with UI
} else {
// You've only got jQuery, no UI
}
} else {
// No jQuery
}