2010-02-12 74 views
1

我使用YUI3「動態」動態加載樣式表。這是完美的工作,但是,據我可以告訴它不會給我任何方式來設置這些新的樣式表的id,這導致樣式表被加載多次,因爲用戶在網站周圍瀏覽。使用YUI3動態加載樣式表

var css_obj = Y.Get.css(location.pathname+"/../css/"+jta["iss"]+".css"); 

有沒有人有這樣做,這樣我可以在裝載前的CSS測試,如果它已經加載的任何其他方式?

謝謝

回答

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(); }); 
+0

這會工作,謝謝。 – user103219 2010-02-12 18:18:33

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")); 
    } 
}); 
});
+0

我從來沒有這樣想過,這也會讓我有其他的可能性。謝謝! – user103219 2010-02-12 22:32:32