2011-02-25 148 views
4

我有一個相冊,當用戶點擊FORWARD或BACK時,通過一系列圖像循環播放,通過Javascript實現設置img的src。它適用於FF,Opera,IE和Safari,但不適用於Chrome - 在Chrome中,圖像有時會出現,有時甚至是空白區域。看起來,如果圖像緩存,它們是可見的,但如果它們尚未加載Chrome瀏覽器不加載它們。我已經確認在元素中正確設置了src,它只是不顯示。Chrome瀏覽器無法加載img src設置爲javascript時

如果圖像加載到頁面的html中,它們會在.src設置爲javascript時正常顯示,但如果它們不在加載的html代碼中,那麼它們中的一些會顯示出來,有些則不會 - 但只有在Chrome中,在所有其他瀏覽器中,它才能正常工作。

是否有一些緩存設置需要用於Chrome瀏覽器,或者我可以做些什麼來確保這些緩存設置正確加載?

感謝所有。

羅素

(新增)某些代碼如下。它產生的,這是這裏的怪常數從何而來,並且該文件繼續幾百更< LI>元素

<HTML> 
<HEAD> 
    <link href="../lame.css" rel="stylesheet" type="text/css"> 
    <TITLE>Young/Haraske slides</TITLE> 
    <script src="../lame.js"></script> 
    <script> 

    var int2atts = [], int2path = [], paths = {}, atts; 

     atts = {} 

     int2atts[36] = atts; 
     int2path[36] = "Families/Young/Russell" 

     window.onload = function() {substituteNodeInfo(); showPage(254);} 
     var imagePtr = 0; 
     function nextImage(i) { 

     imagePtr = (imagePtr + i + 254) % 254; 
     var nextSrc = document.getElementById("photo" + imagePtr).src 
     var mainImage = document.getElementById("MainImage"); 
     var src = mainImage.src; 
     mainImage.src = src.substring(0, src.lastIndexOf("/")) + nextSrc.substring(nextSrc.lastIndexOf("/")); 

     return false; 
     }     
    </script> 
</HEAD> 
<BODY id="pathBody"> 
    <H1 id="pageTitle">Russell</H1> 
    <div> 
    <img id="MainImage" src="../pictures/1845DEC61.JPG"></img> 
    <h3 id="Title">Russell</h3> 
    <div id="Text"></div> 

    <a href="" onclick="return nextImage(-1)">Previous</a> 
    <a href="" onclick="return nextImage(1)">Next</a> 
    <p /> 

    This filter is included in the following paths: 
    <ul class="paths"> 

     <li class="path"><a href="../folders/Russell.html?path=36">Families/Young/Russell</a></li> 

    </ul> 
    </div> 
    <div class="choosePage"></div> 
    <ul id="gallery" class="filteredItems"> 

     <li id="listing0" class="lineblock"><p> 
      <a class='folder' href="../items/1845DEC61.html"> 
      <img id="photo0" src='../thumbnails/1845DEC61.JPG' alt='1845DEC61.JPG'> 
      <br />Image page</a>/<a href="../fullsize/1845DEC61.JPG">Full size</a> 
      <br />1845DEC61.JPG 
     </li> 

     <li id="listing1" class="lineblock"><p> 
      <a class='folder' href="../items/1669.html"> 
      <img id="photo1" src='../thumbnails/1669.JPG' alt='1669.JPG'> 
      <br />Image page</a>/<a href="../fullsize/1669.JPG">Full size</a> 
      <br />1669.JPG 
     </li> 
+0

能否請您發佈一些代碼/創建一個小提琴?我也使用Chrome,所以我可以嘗試重現它。 – pimvdb 2011-02-25 16:04:04

+2

這聽起來像是你需要預載你的圖片。 – 2011-02-25 16:07:02

+0

有多達1000個圖像,所以我寧願不預先加載。可能而不是我會放棄功能滾動本頁上的圖片。 – russell 2011-02-25 16:55:19

回答

0

緩存顯然正在被清除。網絡選項卡顯示chrome認爲它正在從緩存加載圖像,當我嘗試清除緩存一切工作。可能這是一個錯誤,緩存正在清理,但索引不更新?

感謝您的建議。

+0

這是一個鉻報告的錯誤,[鏈接] http://code.google.com/p/chromium/issues/detail?id=20960 – russell 2011-02-26 15:14:34

+0

我也面臨同樣的問題與鉻。 Firefox是okey。 – 2014-09-24 07:00:52

0

我解決了從水平圖像滾動的重用而產生類似的問題-to看到頁面等待20秒鐘,這樣計時器一招從www.ozzu.com/programming-forum/javascript-sleep-function-t66049.html

去向下http://www.btinternet.com/~st_rise/main/mainfram.htm?../imagery/imgscroll3h.htm 在我的負荷環我稱之爲模擬睡眠的函數。

function pause(iMilliseconds) { 
    var sDialogScript = 'window.setTimeout(function() { window.close(); }, ' + iMilliseconds + ');'; 
    window.showModalDialog('javascript:document.writeln ("<script>' + sDialogScript + '<' + '/script>")'); 
} 

你可以看到導致我的網站[elenco Alloggi酒店]:http://www.unitaria.it/interventi_u.html

相關問題