0
我需要JS中的圖像預加載器。圖像由PHP腳本獲取(以避免向用戶打開文件結構)並設置爲img標記的屬性。在預加載之後,我們等待一個綁定爲事件監聽器的事件被觸發(有點像幻燈片放映)。預加載圖像PHP和等待JS直到完成
var preloadImage = $('<img />').attr('src', 'getimage.php');
preloadImage.onLoad = function() {console.log('finished')}
的問題是,該課程的onLoad不起作用,因爲它與圖像中的JS被處理,而在這種情況下,我們正在等待PHP來完成讓圖像的交易。 PHP腳本就像這樣
<?php
header("Content-type: image/png");
readfile('image.png');
?>
任何人都有一個想法如何在這種情況下,我可以讓JS等待,直到PHP完成加載?
在設置src之前設置'onload'處理程序*。瀏覽器從緩存中下載/提取圖像後,它會觸發。 – DCoder 2012-08-09 08:10:10
瀏覽器不關心圖像是由Web服務器從文件系統加載還是通過PHP通過Web服務器加載。只要你正確地設置了標題,它就只是字節流。如果你的JS在圖像被服務器直接加載的時候工作,那麼當它被php加載時它就會工作。因此你的PHP腳本必須有錯誤。由於你沒有給出完整的腳本(你甚至沒有顯示''標籤,所以沒有辦法說出這裏有什麼問題。 – 2012-08-09 08:21:22
@LieRyan我發佈了整個php腳本,也許我在這裏做錯了什麼? DCoder當切換上面的處理程序時,preloadImage當然是undefined或null。當設置它到選擇器onLoad事件不會觸發 – toxicate20 2012-08-09 08:35:55