我使用YUI3“动态”动态加载样式表。这是完美的工作,但是,据我可以告诉它不会给我任何方式来设置这些新的样式表的id,这导致样式表被加载多次,因为用户在网站周围浏览。使用YUI3动态加载样式表
var css_obj = Y.Get.css(location.pathname+"/../css/"+jta["iss"]+".css");
有没有人有这样做,这样我可以在装载前的CSS测试,如果它已经加载的任何其他方式?
谢谢
我使用YUI3“动态”动态加载样式表。这是完美的工作,但是,据我可以告诉它不会给我任何方式来设置这些新的样式表的id,这导致样式表被加载多次,因为用户在网站周围浏览。使用YUI3动态加载样式表
var css_obj = Y.Get.css(location.pathname+"/../css/"+jta["iss"]+".css");
有没有人有这样做,这样我可以在装载前的CSS测试,如果它已经加载的任何其他方式?
谢谢
您是否尝试使用自己的变量来检查它是否已被加载?
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(); });
我喜欢猎人的解决方案。您也可以访问插入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")); } }); });
我从来没有这样想过,这也会让我有其他的可能性。谢谢! – user103219 2010-02-12 22:32:32
这会工作,谢谢。 – user103219 2010-02-12 18:18:33