我使用YUI3'Get'动态加载样式表。然而,这是完美的工作,据我所知,它没有给我任何方法为这些新的样式表设置id,导致样式表在用户浏览网站时多次加载。
var css_obj = Y.Get.css(location.pathname+"/../css/"+jta["iss"]+".css");
有没有其他方法可以这样做,以便我可以在加载css之前进行测试,如果它已经被加载了?
由于
答案 0 :(得分:1)
您是否尝试使用自己的变量来检查它是否已经加载?
var css_obj;
function LoadCss() {
if (css_obj == null) {
css_obj = Y.Get.css(location.pathname+"/../css/"+jta["iss"]+".css");
}
}
如果你正在使用jQuery,你可以写
$(document).ready(function(){ LoadCss(); });
答案 1 :(得分:1)
我喜欢亨特的解决方案。但是,您可以访问插入的link
节点,如果愿意,可以设置其ID:
http://ericmiraglia.com/yui/demos/cssid.php
YUI().use("get", function(Y) { Y.Get.css("http://ericmiraglia.com/yui/demos/red.css", { onSuccess: function(o) { o.nodes[0].setAttribute("id", "myElementId"); alert(o.nodes[0].getAttribute("id")); } }); });