是否可以从 IMG SRC 标签调用 JavaScript 函数来获取图片 url?
像这样:
<IMG SRC="GetImage()" />
<script language="javascript">
function GetImage() {return "imageName/imagePath.jpg"}
</script>
这是使用 .NET 2.0。
是否可以从 IMG SRC 标签调用 JavaScript 函数来获取图片 url?
像这样:
<IMG SRC="GetImage()" />
<script language="javascript">
function GetImage() {return "imageName/imagePath.jpg"}
</script>
这是使用 .NET 2.0。
没有。这是不可能的,至少不是在所有浏览器中。你可以这样做:
<img src="blank.png" id="image" alt="just nothing">
<script type="text/javascript">
document.getElementById('image').src = "yourpicture.png";
</script>
你最喜欢的 JavaScript 框架会提供更好的方法 :)
如果您想进行黑客攻击,这也可以。
<img src='blah' onerror="this.src='url to image'">
是否可以从 IMG SRC 标签调用 JavaScript 函数来获取图片 url?
您的意思是执行以下操作吗?
<img src="javascript:GetImage()" />
不幸的是,不——你不能那样做。但是,您可以执行以下 hack:
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 是有效的,但取决于你真正想要完成的事情,这可能不是最好的解决方案。我不知道您为什么要这样做,但也许您有充分的理由(您想与我们分享!)。
你不能内联图像@src,但你应该能够从紧跟图像的内联脚本块中调用它:
<img src="" id="myImage"/>
<script type="text/javascript">
document.getElementById("myImage").src = GetImage();
</script>
您可以通过调用 SRC 中的 aspx 页面来动态提供图像。
前任;
<img src="provideImage.aspx?someparameter=x" />
在页面方面,您需要将图像放入响应中并更改图像的内容类型。
唯一的“问题”是您的图像不会被索引,您最好在该提供程序页面上放置一些缓存,否则您将破坏服务器。
您在寻找 this.src 吗?
<img src='images/test.jpg' onmouseover="alert(this.src);">
由于您使用的是 .NET,因此您可以添加runat="server"
属性并src
在代码隐藏中设置。
您可能可以在服务器端执行此操作。或者,您可以附加一个 onload 事件来交换图像 src。我想问题就变成了,为什么你必须首先使用 Javascript?
我以前不得不做这样的事情,而 IIRC 的窍门最终是你不能更改 DOM 树的一部分的图像的 src 属性。因此,最好的办法是编写不带图像的 HTML 骨架,并 1)创建一个 onLoad 函数,该函数使用 document.createElement 生成一个新的 img 元素,2)使用 setAttribute() 设置 src 属性,以及 3)将其附加到您的 DOM树。
一次又一次调用图像的 OnLoad 事件做这样的事情
这个怎么样?
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"/>
不,Img 的 SRC 属性不是事件,因此内联 JS 永远不会触发。
一次又一次调用图像的 OnLoad 事件做这样的事情