我懷疑答案會出現在PreloadJs中,但是,爲了簡化它,我已經在我的code中刪除了我的修補程序。這裏是最重要的部分:CreateJS - 圖像位圖不會一直顯示出來
let stage = new createjs.Stage('easel'),
bitmap = new createjs.Bitmap('http://www.skrenta.com/images/stackoverflow.jpg');
stage.addChild(bitmap);
stage.update();
所以,現在的問題,這是當你第一次運行之後,我的代碼,你會得到什麼:
沒有錯。
但是,第一次訪問時,圖像沒有被緩存呢,而沒有顯示出。當你重新設置頁面時(窗口上的ctrl + r
)也會發生同樣的情況。這顯然是一件大事,因爲第一次訪問該頁面時,它不會有圖像。以下是我已經試過:
PreloadJs,這將最有可能是解決方案,但到目前爲止我的代碼它不工作。
這是我目前
PreloadJS
代碼:queue.on('complete', draw, this) queue.load(imageUrl) function draw() { let bitmap = new createjs.Bitmap(imageUrl); stage.addChild(bitmap); stage.update(); }
觸發我的代碼
onload
。問題仍然存在。- 延誤像
setTimeout
。除了非常黑客之外,它只能修復它的一小部分時間,即使有很大的延遲。 - 像這樣的事情answer。這將對硬重置起作用,但是當我清除緩存時,它加載花費的時間太長,基本上破壞了修復第一個負載的整個想法。
所以基本上,而這些解決方案的同時,他們的工作在某些時候,有些是hackish的,所有的工作只是一個百分比,或者更少的時間。什麼是最好的解決方案?
的一件事是,當我做一些事情,比如調整大小的頁面,圖像會顯示出來。我無法在我的示例代碼中重新創建它。我相信這事,因爲當我最初運行stage.update
它不準備來展示,所以它沒有。再一次簡單地運行stage.update
後一秒不夠好。
注:我不相信這是這question的副本,因爲沒有答案,這是一歲,他們不能給一些細節,並在評論中提供的唯一解決方案失敗。
如果連結無法工作,你第一次告訴我只能人爲地創造第一次訪問的條件。 –