webForumDet fria alternativet

öppna länk i nytt fönster?

HTML & CSS

4 svar · 462 visningar · startad av theflatlander

Medlem sedan mars 200522 inlägg
Frågan#1

jag har en bild som funkar som en länk, o när jag klickar på den så vill jag att det ska öppnas upp ett nytt fönster som är ungefär 75% av skärmen centrerad i mitten på sidan. Nån som vet hur man gör det?

Först så tänkte jag att man skulle ha som ett popup-fönster, men det är ju inte alla som tillåter det=/

Tack för svar!

Medlem sedan jan. 2000978 inlägg
#2

Du måste köra med javascript.
Lägg in följande kod i en fil som du döper till popup.js.

function popup() {
	var w = screen.width * 0.75;
	var h = screen.height * 0.75;
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl;
        window.open( this.getAttribute('href'), 'popup', winprops);
        return false;
}

function init() {
	element = document.getElementById('pop');
	element.onclick = popup;
}

window.onload = init;

Lägg följande kod i din htmlfil:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<title>popup</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<script type="text/javascript" src="popup.js" />
</head>
<body>
<p>
<a href="http://www.google.com/" id="pop"><img src="logo_webforum.gif"></a>
</p>
</body>
</html>

Lägg märke till att du måste ha med ditt id, det id du sätter på länken, i js-filen.

Medlem sedan mars 200522 inlägg
#3

ok tack! men var exakt ska ID stå i js. filen då? kan det vara vad som helst?

Medlem sedan jan. 2000978 inlägg
#4

Här ser du var du stoppar in ditt id.

function popup() {
	var w = screen.width * 0.75;
	var h = screen.height * 0.75;
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl;
        window.open( this.getAttribute('href'), 'popup', winprops);
        return false;
}

function init() {
	element = document.getElementById('[b]pop[/b]');
	element.onclick = popup;
}

window.onload = init;

Id får bara förekomma på ett ställe i din html kod.
Vill du kunna använda samma popupfunktion på flera länkar på samma sida så måste du göra lite annorlunda.
Id får vara vad som helst. Undvik konstiga tecken, bindestreck, m.m.

Medlem sedan dec. 20042 245 inlägg
#5

Id får vara vad som helst.

Nästan. :)

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

http://www.w3.org/TR/REC-html40/types.html#type-name

266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)