我从方法中获得了Base64编码的照片。我以编程方式将其添加为图像的src。然后我使用jQuery lightBox插件来显示图像的预览。在Firefox和Chrome中,一切正常,但在Internet Explorer 9中,因为图像预览仅显示我的图像的几行。
因此图像不会显示为整体;它只显示了一小部分。其余的消失了,看起来某些东西在某个时刻停止加载它。 Base64很好,在其他Web浏览器中显示整个图像,并且只有Internet Explorer存在问题。
在我的aspx中:
<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>
在我的aspx.cs文件中:
imgPhoto.Attributes.Add("src", "data:image/jpg;base64," + base64Image);
所以我将这样的内容插入到aspx文件中:
imgPhoto.Attributes.Add("src", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==");
如何修改它以使用Internet Explorer?
答案 0 :(得分:0)
我已经有这样的问题。这种不兼容性的主要原因是图像标记中的runat="server"
属性,也可能是锚标记中的<script type="text/javascript">
$(function () {
$('#gallery a').lightBox({ fixedNavigation: true });
});
</script>
<div id="mainDiv" runat="server">
</div>
属性。试试这个,也许你的问题将会解决:
...
string innerHtml = "<div id='gallery'><a id='aPhoto'><img alt='photo' id='imgPhoto' /></a></div>";
mainDiv.innerHtml = innerHtml;
...
{{1}}