webForumDet fria alternativet

Går det med javascript att visa en annan

2 svar · 191 visningar · startad av medialabs

medialabsMedlem sedan mars 20022 704 inlägg
#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.

JojoxxMedlem sedan juni 20004 306 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.

RGBMedlem sedan dec. 1999362 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>
Genererad på 381 ms · cache AV · v20260730165559-full.f96bc7eb