2008-09-22 184 views
10

是否可以從IMG SRC標籤調用JavaScript函數來獲取圖像url?IMG SRC標籤和JavaScript

像這樣:

<IMG SRC="GetImage()" /> 

<script language="javascript"> 
    function GetImage() {return "imageName/imagePath.jpg"} 
</script> 

這是使用.NET 2.0。

+0

這個問題並沒有真正描述你想達到什麼目的? – Ian 2008-09-22 19:33:09

+0

同意 - 我花了一分鐘才知道他在... – 2008-09-23 00:16:36

+0

不同意 - 顯而易見。 – DragonLord 2012-11-13 00:28:37

回答

20

都能跟得上。這是不可能的,至少在所有的瀏覽器中都是如此。由於您使用的

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

你最喜歡的JavaScript框架將提供更好的方法:)

-1

不。Img的SRC屬性不是一個事件,因此內聯JS永遠不會觸發。

+0

但是,它確實需要一個URI並且可以運行javascript:僞URI。這是XSS漏洞的原因。 – Quentin 2009-08-27 12:22:31

1

你不能做它內聯圖像@src,但你應該能夠從一個內嵌腳本塊叫它馬上你的形象以下:

<img src="" id="myImage"/> 
<script type="text/javascript"> 
    document.getElementById("myImage").src = GetImage(); 
</script> 
+0

Opera不支持內嵌腳本標記?這對我來說是新聞。 – levik 2008-09-22 19:38:07

-1

您是否在尋找this.src`

<img src='images/test.jpg' onmouseover="alert(this.src);"> 
0

:你可以做這樣的事情呢? .NET,你可以添加runat="server"屬性,並在代碼隱藏中設置src

0

可能能夠在服務器端做到這一點。或者,你可以附加一個onload事件來交換圖像src。我想這個問題會變成,爲什麼你必須以第一步的速度使用Javascript?

1

您可以通過調用SRC中的aspx頁面動態地提供圖像。例如:

Ex;

<img src="provideImage.aspx?someparameter=x" /> 

在頁邊,您`ll需要把圖像中的反應和改變圖像的內容類型。

唯一的「問題」是你的圖像不會被索引,你最好在該提供者頁面上放一些緩存,否則你會蹂躪服務器。

7

是否可以從IMG SRC標籤中調用JavaScript函數來獲取圖片url?

你的意思是做下面的事嗎?

<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)" /> 

onload事件只會火,如果你有一個實際的圖像設置src屬性 - 如果你不要設置該屬性或將其設置爲空字符串或類似的東西,你將不會得到任何愛。將其設置爲單個像素透明GIF或類似的東西。

無論如何,這個黑客行得通,但取決於你真正想要完成的事情,這可能不是最好的解決方案。我不知道你爲什麼想這樣做,但也許你有一個很好的理由(你想與我們分享!)。

0

我有之前做這樣的事情,並IIRC的伎倆捲起是,你無法改變這就是DOM樹的一部分圖像的src屬性。所以你最好的選擇是編寫你的HTML框架而不用圖像,1)創建一個onLoad函數,用document.createElement生成一個新的img元素,2)用setAttribute()設置src屬性,3)將它附加到你的DOM樹。圖像的

-1

OnLoad事件一次又一次地稱爲做一些喜歡的事情一次又一次地稱爲圖像的這種

0

OnLoad事件做這樣

10

一些事情,如果你在黑客的心情,這也適用。

<img src='blah' onerror="this.src='url to image'"> 
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"/>