2010-12-02 33 views
1

我用Google搜索了半天,找出解決方案,但最終失敗後,檢測加載背景圖像。如何使用jQuery插入了CSS

這裏來下面詳細我的問題:

我用jQuery的lib編寫的JavaScript代碼。

$('<link id="userCSS" rel="stylesheet" href="'+link+'" type="text/css" charset="utf-8">').insertAfter("title"); 

你可以發現我們會從其他地方動態加載CSS文件。

然後,因爲別人的服務器生成的文件是因人而異,有可能會產生一個隨機的CSS段是這樣的:

body,html { 
    background:#000 url(http://i43.tinypic.com/xxxx.jpg) top left no-repeat; 
    font-family:Arial,Verdana,sans-serif; 
    font-size:12px; 
} 

所以,下面就是一個問題!我希望當背景圖像被加載時我可以觸發onload事件,但是我已經嘗試了所有方法,沒有任何希望。

有沒有人有一些這方面的相關經驗,給我一隻手!?感謝:]

+1

你想用這個做什麼?很確定沒有背景圖片的事件,但我們需要知道建議不同的目的。 – roryf 2010-12-02 17:14:49

+0

這有點難以解釋!因爲服務器會爲每個用戶返回一個自定義的CSS,所以我必須嵌入這個CSS來檢查這個用戶是否有他/她的自定義CSS!如果沒有,我會爲這個用戶設置自己的背景圖像,否則,我只會使用他/她的自定義背景圖像! – EragonJ 2010-12-02 17:25:16

回答

1

沒有示例代碼,但我可以建議的最好的方法是提取括號中的完整URL,然後創建一個圖像對象,將源設置爲該URL,然後綁定任何你想要的動作onload爲那個形象。我不是100%,它會工作,但我相信圖像只會爲背景和新圖像對象下載一次,並在正確的時間點擊該事件。

您可能需要的情況下,在創建映像對象之前的背景圖像被下載的同時使用event.special.load plugin。因爲如果發生這種情況,它將來自緩存,onload事件可能會或可能無法正確處理。