是否可以从IMG SRC标记调用JavaScript函数来获取图像网址?
像这样:
<IMG SRC="GetImage()" />
<script language="javascript">
function GetImage() {return "imageName/imagePath.jpg"}
</script>
这是使用.NET 2.0。
答案 0 :(得分:20)
不。这是不可能的,至少在所有浏览器中都不可能。你可以这样做:
<img src="blank.png" id="image" alt="just nothing">
<script type="text/javascript">
document.getElementById('image').src = "yourpicture.png";
</script>
您最喜爱的JavaScript框架将提供更好的方式:)
答案 1 :(得分:10)
如果你喜欢黑客,那也可以。
<img src='blah' onerror="this.src='url to image'">
答案 2 :(得分:7)
是否可以从IMG SRC标记调用JavaScript函数来获取图像网址?
你的意思是做以下事情吗?
<img src="javascript:GetImage()" />
不幸的是,不 - 你做不到。但是,您可以执行以下操作:
function getImageUrl(img) {
var imageSrc = "imageName/imagePath.jpg";
if(img.src != imageSrc) { // don't get stuck in an endless loop
img.src = imageSrc;
}
}
然后,请使用以下html:
<img src="http://yourdomain.com/images/empty.gif" onload="getImageUrl(this)" />
如果您将实际图像设置为src属性,onload事件将仅触发 - 如果您未设置该属性或将其设置为空字符串或类似的东西,您将无法获得爱。将其设置为单个像素透明gif或类似的东西。
无论如何,这个hack有效,但根据你真正想要完成的事情,这可能不是最好的解决方案。我不知道你为什么要这样做,但也许你有充分的理由(你想与我们分享!)。
答案 3 :(得分:1)
你不能内联图像@src,但你应该能够立即从你的图像后面的内联脚本块中调用它:
<img src="" id="myImage"/>
<script type="text/javascript">
document.getElementById("myImage").src = GetImage();
</script>
答案 4 :(得分:1)
您可以通过调用SRC中的aspx页面来动态提供图像。
实施例;
<img src="provideImage.aspx?someparameter=x" />
在页面方面,您需要将图像放入响应中并更改图像的内容类型。
唯一的“问题”是您的图片不会被索引,您最好在该提供商页面上放置一些缓存,否则您将破坏服务器。
答案 5 :(得分:0)
由于您使用的是.NET,因此可以添加runat="server"
属性并在代码隐藏中设置src
。
答案 6 :(得分:0)
您可能能够在服务器端执行此操作。或者,您可以附加一个onload事件来交换图像src。我想问题就变成了,为什么你必须在第一步中使用Javascript?
答案 7 :(得分:0)
之前我必须做这样的事情,而IIRC的诀窍就是你不能改变作为DOM树一部分的图像的src属性。因此,最好的办法是编写没有图像的HTML骨架,1)创建一个onLoad函数,用document.createElement生成一个新的img元素,2)用setAttribute()设置src属性,3)将它附加到你的DOM树。
答案 8 :(得分:0)
一次又一次地调用图像的OnLoad事件做这样的事情
答案 9 :(得分:0)
怎么样?
var imgsBlocks = new Array( '/1.png', '/2.png', '/3.png');
function getImageUrl(elemid) {
var ind = document.getElementById(elemid).selectedIndex;
document.getElementById("get_img").src=imgsBlocks[ind];
}
它不起作用?
<img src="'+imgsBlocks[2]+'" id="get_img"/>
答案 10 :(得分:-1)
没有。 Img的SRC属性不是事件,因此内联JS永远不会触发。
答案 11 :(得分:-1)
你在寻找this.src吗?`
<img src='images/test.jpg' onmouseover="alert(this.src);">
答案 12 :(得分:-1)
一次又一次地调用图像的OnLoad事件做一些像这样的事情