2013-02-03 63 views
4

我正在構建一個基於AJAX的網站,其中所有網站內容都通過AJAX加載。在應用css時檢測

某些頁面具有隨內容一起加載的CSS(代碼如下)。一旦HTML和CSS被加載,我運行一些腳本來改變一些圖像位置,改變寬度等。

問題是,有時候我的JavaScript在之前被執行CSS規則被應用。例如:如果根據CSS,我的div寬度應該是200px,有時javascript會將它看作1000px,所以我得到錯誤的計算結果。

我的研究還沒有產生一個跨瀏覽器的解決方案來檢測不僅加載的圖像,但加載CSS和其他一切。

我使用jQuery的AJAX函數來獲得所需的HTML(這部分工作正常)。獲得HTML後,我將其與jQuery's html function一起使用。

一旦這樣做了我使用此代碼加載所需的CSS:

css   = document.createElement('link'); 
css.rel  = 'stylesheet'; 
css.type = 'text/css'; 
css.media = "all"; 
css.href = url; 
document.getElementsByTagName("head")[0].appendChild(css); 

可以使用超時功能,但它也只是盲目的猜測,我想確保我的腳本運行時它需要運行。任何建議?

編輯我已經包含此圖片做出解釋更清晰

enter image description here

+0

在插入到DOM中或者實際需要某些定義之前,只需從接收到的內容中讀取並刪除'