我使用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