2011-07-25 13 views
7

Bir yöntemden Base64 kodlanmış fotoğraf alıyorum. Ve programatik olarak bir görüntünün kaynağı olarak ekliyorum. Sonra bir resmin önizlemesini göstermek için jQuery lightBox eklentisini kullanırım. Firefox ve Chrome'da her şey iyi çalışıyor, ancak bir resim önizlemesi olarak Internet   Explorer   9 görüntüümün yalnızca birkaç satırını gösteriyor. Böylece, görüntü bir bütün olarak gösterilmeyecek şekilde görüntülenir; Sadece küçük bir yüzdesini gösteriyor. Gerisi kayboldu ve bir anda bir şeylerin yüklenmesi durmuş gibi görünüyor. Base64 iyi, diğer web tarayıcılarda tüm görüntü görünür ve sadece Internet   Explorer ile ilgili sorunlar var. 'data: image/jpg; base64' ve jQuery image preview in Internet Explorer

Yani aspx dosyası içine böyle bir şey eklemek

: Benim aspx.cs dosyasında

<script type="text/javascript"> 
    $(function() { 
     $('#gallery a').lightBox({ fixedNavigation: true }); 
    }); 
</script> 

<div id="gallery"> 
    <a id="aPhoto" runat="server"> 
     <img alt="photo" id="imgPhoto" runat="server" /></a> 
</div> 

: Benim aspx olarak

imgPhoto.Attributes.Add("src", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="); 

Nasıl Yaparım Internet   Explorer ile çalışmak için değiştirin?

+4

IE8 sadece resim verilerinin 32 KB kadar destekleyebilir, IE9 ok olmalıdır rağmen. Önbelleğe alınmış veriyi bir şekilde kopyalayamadığınızdan emin misiniz? –

+0

Genel bir test sayfanız var mı? F12 Geliştirici Araçları konsolunu kullanarak, söz konusu görüntünün SRC özniteliğini inceleyin. * Tam * resim URL'si mevcut mu? – EricLaw

+0

@adam. Evet eminim - Firefox ve Chrome ile aynı görüntü tamam. IE'de geçersiz bir önbelleği göz ardı eden – madMax

cevap

0

Zaten böyle bir sorunum var. Bu uyumsuzluğun temel nedeni, resim etiketindeki ve belki de bağlantı etiketinde bulunan runat="server" özniteliğidir. belki senin sorunun çözülecek, bu deneyin:

<script type="text/javascript"> 
    $(function() { 
     $('#gallery a').lightBox({ fixedNavigation: true }); 
    }); 
</script> 

<div id="mainDiv" runat="server"> 
</div> 

Ve code behind yılında:

... 
string innerHtml = "<div id='gallery'><a id='aPhoto'><img alt='photo' id='imgPhoto' /></a></div>"; 
mainDiv.innerHtml = innerHtml; 
... 
İlgili konular