javascript - 在 javascript 中设置时,Chrome 不加载 img src

标签 javascript caching google-chrome image

我有一个相册,当用户单击 FORWARD 或 BACK 时,它会循环显示一系列图像,这是通过 Javascript 设置 img 的 src 实现的。它在 FF、Opera、IE 和 Safari 上正常工作,但在 Chrome 中不能正常工作——在 Chrome 中,图像有时会出现,有时是空白。如果图像被缓存,它们就会显示出来,但如果它们还没有被加载,Chrome 就不会加载它们。我已经确认元素中的 src 设置正确,只是没有显示。

如果图像加载到页面的 html 中,当在 javascript 中设置 .src 时,它们会正确显示,但如果它们不在加载的 html 代码中,那么其中一些会显示,有些不会 - 但仅在 Chrome 中,在所有其他浏览器中它似乎工作正常。

我是否需要为 Chrome 使用一些缓存设置,或者我可以做一些 hack 来确保这些设置正确加载?

感谢大家。

罗素

(已添加)下面是一些代码。它被生成,这是奇怪常量的来源,文件继续有几百个

  • 元素

    <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>
    

  • 最佳答案

    关于javascript - 在 javascript 中设置时,Chrome 不加载 img src,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5119440/

    相关文章:

    javascript - 攻击者能否在 html5 数据属性中插入恶意代码

    javascript - 重置关联数组的值

    iOS UIWebView 缓存问题

    php - 缓存 JSON : Apache, PHP、jQuery

    jquery - 使用 "overflow: scroll"时,翻页卡背面的内容在 Chrome 中显示在前面,而不是其他浏览器

    javascript - 将值(value)从焦点传递到模糊功能的最佳方式?

    javascript - Javascript 中的全局变量生命周期

    php - mySQL 缓存 - 内存还是硬盘?

    javascript - 如何通过扩展在 Chrome 中点击时将用户重定向到新链接?

    javascript - 从网站按钮运行 chrome 应用程序