IMG SRC标签和JavaScript

Dav*_*vid 10 javascript asp.net image

是否可以从IMG SRC标记调用JavaScript函数来获取图像URL?

像这样:

<IMG SRC="GetImage()" />

<script language="javascript">
   function GetImage() {return "imageName/imagePath.jpg"}
</script>
Run Code Online (Sandbox Code Playgroud)

这是使用.NET 2.0.

Arm*_*her 20

不.这是不可能的,至少在所有浏览器中都不可能.你可以这样做:

<img src="blank.png" id="image" alt="just nothing">
<script type="text/javascript">
    document.getElementById('image').src = "yourpicture.png";
</script>
Run Code Online (Sandbox Code Playgroud)

您最喜欢的JavaScript框架将提供更好的方式:)


jdi*_*zle 10

如果你喜欢黑客,那也可以.

<img src='blah' onerror="this.src='url to image'">
Run Code Online (Sandbox Code Playgroud)


Jas*_*ing 7

是否可以从IMG SRC标记调用JavaScript函数来获取图像URL?

你的意思是做类似以下的事情吗?

<img src="javascript:GetImage()" />
Run Code Online (Sandbox Code Playgroud)

不幸的是,不 - 你做不到.但是,您可以执行以下操作:

function getImageUrl(img) {
   var imageSrc = "imageName/imagePath.jpg";
   if(img.src != imageSrc) { // don't get stuck in an endless loop
      img.src = imageSrc;
   }
}
Run Code Online (Sandbox Code Playgroud)

然后,有以下html:

<img src="http://yourdomain.com/images/empty.gif" onload="getImageUrl(this)" />
Run Code Online (Sandbox Code Playgroud)

如果您将实际图像设置为src属性,onload事件将仅触发 - 如果您未设置该属性或将其设置为空字符串或类似的东西,您将得不到爱.将其设置为单个像素透明gif或类似的东西.

无论如何,这个hack有效,但根据你真正想要完成的事情,这可能不是最好的解决方案.我不知道你为什么要这样做,但也许你有充分的理由(你想与我们分享!).