webForumDet fria alternativet
Logga in / Bli medlem

Går det med javascript att visa en annan

JavaScript

2 svar · 191 visningar · startad av medialabs

Medlem sedan mars 20023 686 inlägg
Trådstart#1

Jag har ett litet annonssystem på min webbsida och alt för ofta så händer det att inte en viss bannern hittas, så att det bara blir ett "kryss" eller vad man ska kalla det.

Jag undrar om man med hjälp av javascript kan göra så att om inte bannern hittas så ska en anna banner visas där det står att banner inte kunde hittas.

Medlem sedan juni 20004 308 inlägg
#2
<script language="JavaScript" type="text/javascript">
function getHTTPStatus(url) {
	if (document.layers && navigator.javaEnabled()){
		if ((location.host == '') || (url.indexOf(location.host) == -1)){ netscape.security.PrivilegeManager.enablePrivilege('UniversalConnect'); }
		var urlObj = new java.net.URL(url); var port = (urlObj.getPort()>0)?urlObj.getPort():80;
		var socket = new java.net.Socket (urlObj.getHost(),port);
		var dos = new java.io.DataOutputStream(socket.getOutputStream());
		dos.writeBytes('HEAD ' + urlObj.getFile() + ' HTTP/1.0\r\n\r\n'); 
		var dis = new java.io.DataInputStream(socket.getInputStream());
		var data = dis.readLine();
		dis.close(); dos.close(); socket.close();
		var re = /(HTTP\/[\d\.]+) (\d\d\d) ?(.*)$/i;
		var match = re.exec(data);
		return match[2];
	} else if (document.getElementById && window.ActiveXObject) {
		var http = new ActiveXObject('Microsoft.XMLHTTP');
		http.open('HEAD', url, false);
		http.send();
		return http.status;
	} else {
		return false;
	}
}
window.onload=function(){
	if(getHTTPStatus(document.images['foo'].src)=='404'){
		document.images['foo'].src='images/bildsomfinns.gif';
	}
}
</script>
<img src="http://www.sunet.se/dennabildfinnsinte.gif" name="foo" width="100" height="100" alt="...">

Något sånt... Scriptet fungerar bäst i IE. Netscape 4.x fungerer näst intill lika bra så när som på en varningsruta. Mozilla har jag inget motsvarande för, än.

Medlem sedan dec. 1999419 inlägg
#3

En kod till

<img src="http://server/logga.gif1" name="x" onerror="loadOtherImage(this);">
<script language="javascript">
var i = -1;
function loadOtherImage(img)
{
++i;
var imgs =
[
"http://server/logga.gif2",
"http://server/logga3.gif",
"http://server/logga4.gif"
];
img.src=imgs[i];
}
</script>
265 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)