2011-11-02 111 views
1

不可靠的图像源,我只是想通过JavaScript来改变图像的SRC属性,像这样:设置通过JavaScript在Internet Explorer

document.getElementById('fooImage').src = img; 

哪里img是有一个链接到该文件的变量。

在所有其他浏览器(Chrome,Firefox,Safari)中都可以使用。在IE(7+)这也可以工作有时

使用IE内置的开发人员工具,我可以看到图像的SRC标记已设置。当地人窗口中是否有其他内容可以帮助我调试图像实际上不显示在屏幕上的原因?

$("#fooImage").attr("src", img); 

的想法:

我还使用jQuery做到这一点,同样的结局试过吗?

+0

听起来像它会工作,但你可以尝试document.getElementById('fooImage')。setAttribute('src',img)来确保。 –

+0

出于好奇,你检查了图像的尺寸和文件大小?我最近有一个类似的问题,在经历了一些不好的时间后,我发现IE只是放弃了在传递一定大小后加载图像。在我的情况下,它是一些像44,000像素高的令人愤慨的东西。我仍然不知道它是文件大小还是图像尺寸,但是无论哪种方式,它都是其中之一。 –

+0

你可以创建一个小提琴来展示这个吗?看起来不正确。什么是'img'?这是一个完整的网址,相对网址或其他? – mrtsherman

回答

0

在调试这个我会很难第一个代码吧...

document.getElementById('fooImage').src = "myimage.png"; 

我用在我的网站下面,它的工作原理是这样的...

var imgCounter = document.getElementById('formtimer'); 
imgCounter.src = "graphics/odometers/1.png"; 

其他一些检查下列事项:

  1. 确保您的ID =标签不在<DIV部分,但在<IMG部分内......例如<div class="style1"><img src="yourpicture" id="someid">。如果`id ='someid'在div标签中,那么您不能更改图片/图片不会显示出来。

  2. 您使用的window.onload?身体的onload?使用第一个正确的方法是...

    window.onload = function() { YourFunctionHere(); }; 
    
  3. 尝试不同的测试图像。我过去曾经遇到过显示png的问题,我将它改为gif或jpg,并且工作正常。我不明白这是什么“回头路”,但它似乎不再是一个问题了,但嘿...要尝试的东西。

  4. 尝试使用HTTPS一个完整的URL

  5. 尝试在程序的其他位置粘贴图像,看看会发生什么。

  6. 尝试添加这对您的HTML(把你的网站在地方煤矿的 - 对谷歌查找BASE HREF获取更多信息)

    <BASE href="http://perrycs/" /> 
    
  7. 确保图像不会背后隐藏层(I知道它在某些浏览器上运行)

  8. 告诉我们的网站,所以我们可以检查出来,并获得更多的信息,以帮助你在调试这个,看到上下文(周围的代码)可以帮助...

0

鉴于它可以在其他浏览器中工作,在这个主题上搜索,似乎常常问题是IE如何缓存图像(参考。 Epascarello的评论)。你的代码和我拥有的一样 - 除IE10以外,它的工作状态很好。

0

我也是,面对这个难题。然后发现它在“页面检查器”中工作,因此在挖掘发现(在Internet Explorer中)之后,转到Tools.Internet Options.Advanced ,取消选中“禁用脚本调试(Internet Explorer)”及其下面的一个。

相关问题