<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      ie6,7下js動(dòng)態(tài)加載圖片不顯示錯(cuò)誤

       ie6,7下js動(dòng)態(tài)加載圖片不顯示錯(cuò)誤

      先描述一下出現(xiàn)這種匪夷所思bug的背景:
      我在頁(yè)面加載的時(shí)候加載一堆小縮略圖,<a href="javascript:void(0);" onclick="switch_image('1.jpg')"><img src="1.thumb.jpg" /></a>
      這么多小的縮略圖標(biāo)簽循環(huán)平鋪下來(lái),當(dāng)單擊小的圖片時(shí),動(dòng)態(tài)加載大的圖片顯示,就類似于淘寶的商品查看圖片。頁(yè)面上有一個(gè)標(biāo)簽:
      <div id="pic-box"><img src="" id="big-image" /></div>
      為了節(jié)省流量,加快頁(yè)面載入速度,先不加載大圖,當(dāng)用戶單擊小圖時(shí),動(dòng)態(tài)加載一張大圖顯示。
      <script>
      function switch_image(im)
      {
      document.getElementById('big-image').src=im;
      }
      </script>

      這種方式在IE6,7外所有的瀏覽器工作都正常,比如 IE8,Firefox, Opera, chrome, Safari。。。
      就是IE6,7這兩個(gè)瀏覽器加載不了,單擊小圖的時(shí)候,有時(shí)候你能加載,有時(shí)候加載一半,有時(shí)候不能加載。
      我以為問題出在src這個(gè)東西上面,有可能IE6,7修改src不能正確加載圖片,于是嘗試把切換函數(shù)修改為:
      document.getElementById('pic-box').innerHTML='<img src="' +  im  + '" />';
      IE6,7還是不行,于是想,有可能是圖片被緩存了,那么加上隨機(jī)數(shù):
      document.getElementById('pic-box').innerHTML='<img src="' +  im + '?r=' + Math.random() + '" />';
      IE6,7依然不行。。
      于是在想,可能是img用在innerHTML里面出現(xiàn)的問題,所以,改成用 appendChild
      var img = document.createElement('img');
      img.src= im;
      document.getElementById('pic-box').appendChild(img);
      還是不行。
      再修改成用 new image來(lái):

      var img = new Image();
      img.src= im;
      document.getElementById('pic-box').appendChild(img);
      還是不行。
      百思不得其解,想,難道IE6,7不能動(dòng)態(tài)加載圖片嗎?難道是img標(biāo)簽的問題?
      既然這樣就換成背景圖加載吧,于是
      document.getElementById('pic-box').style.background="url(" + im + ")";
      IE6,7依然不行,上面這么多方法除IE6,7外其他都是正常的。
      只有不停的Google,結(jié)果google到了:
      IE6,7只有在用<a onclick="switch_image()" href="javascript:void(0);"></a>這樣
      動(dòng)態(tài)加載圖片是才會(huì)出現(xiàn)這種情況,google到的一篇說(shuō)明:

      有幾個(gè)吃飽了沒事兒干的老外反復(fù)試驗(yàn)發(fā)現(xiàn)這個(gè)問題是ie6中一個(gè)底層機(jī)制的bug,之后的版本已經(jīng)解決了。
      據(jù)說(shuō)<a href="javascript:void(0)">或者<a href=#">這樣使用a標(biāo)簽的話并不能阻止a標(biāo)簽最后觸發(fā)一個(gè)什么行為,
      導(dǎo)致ie6會(huì)錯(cuò)誤的認(rèn)為頁(yè)面刷新或者重定向了,并且中斷了當(dāng)前所有連接,這樣新圖片的加載就被aborted了。
      當(dāng)然這些吃飽了沒事兒干的老外們也提出了各種匪夷所思復(fù)雜無(wú)比的解決方案。

      最簡(jiǎn)單的方法有兩個(gè),一個(gè)是這樣使用a標(biāo)簽<a href="switch_image(); return false;">,另外一個(gè)就是用div替換a標(biāo)簽來(lái)用。

      實(shí)際上我發(fā)現(xiàn)不僅是IE6,IE7也同樣有這個(gè)bug,還有,采用:<a href="switch_image(); return false;">并不能解決問題。

      所以推薦用其他標(biāo)簽替換a標(biāo)簽,最后一怒之下把所有的a標(biāo)簽替換為span,從此就再也沒出現(xiàn)這樣的問題了。
      posted @ 2010-07-16 20:21  airy  閱讀(1627)  評(píng)論(3)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产综合久久99久久| 国模粉嫩小泬视频在线观看| 尤物国产精品福利在线网| 9久久伊人精品综合| 久久热在线视频精品视频| 日本真人做爰免费视频120秒| 久久亚洲精品亚洲人av| 沁阳市| 亚洲欧美自偷自拍视频图片| 精品视频在线观看免费观看| 久久夜色国产噜噜亚洲av| 99久久亚洲综合精品成人| 日本高清视频网站www| 久久道精品一区二区三区| 熟妇人妻激情偷爽文| 亚洲大尺度一区二区av| 欧美日韩精品一区二区三区高清视频| а天堂中文最新一区二区三区| 亚洲国产av久久久| 精品国产成人国产在线观看| 亚洲人妻一区二区精品| 夜鲁夜鲁很鲁在线视频 视频| 国产偷国产偷亚洲综合av| 国产无码高清视频不卡| 亚洲色在线v中文字幕| 松溪县| 色狠狠综合天天综合综合| 三原县| 91热在线精品国产一区| 国产午夜福利视频合集| 浑源县| 一个色综合国产色综合| 2020久久国产综合精品swag| 久久天天躁狠狠躁夜夜躁| 青青青国产在线观看免费| 免费午夜无码片在线观看影院| 一区二区免费高清观看国产丝瓜| 免费黄色大全一区二区三区| 国产精品一区中文字幕| 少妇高潮激情一区二区三| 亚洲永久一区二区三区在线|