Anropa funktioner med text eller bild

Det finns flera sätt att köra skriptfunktioner från en länk. Vi gör det genom att ändra HREF-attributet i A-taggen.

Det normala sättet att koda en länk ser ut ungefär så här:

<A HREF="min_sida.html">Klicka här</A>

Om vi nu vill använda länken för att anropa en funktion i stället, ändrar vi i HREF-attributet:

<A HREF="javascript:nySida()">Klicka här</A>

Länka med text

Nu skulle klicket inte leda direkt till en ny sida, utan anropa funktionen nySida() – som förstås måste finnas någonstans. Det enklaste är att placera det i HEAD-elementet.

Pröva med länken nedan.

Klicka här

Skriptet med funktionen nySida() er ut så här:

<SCRIPT language="JavaScript"> 
<!-- Göm 
function nySida() 

    window.open('min_sida.html','ny','width=300,height=200,resizable=yes'); 

// Sluta gömma --> 
</SCRIPT>

function nySida()
Här deklarerar vi den funktion som skall anropas från A-taggen.

window.open('min_sida.html','ny','width=300,height=200,resizable=yes');
Det här betyder att webbläsaren skall öppna ett nytt fönster med följande egenskaper: sidan som visas i fönstret skall vara min_sida.html; namnet på sidan är "ny", fönstret skall vara 300 pixlar brett och 200 pixlar högt; besökaren skall kunna ändra storlek på fönstret.

Vi kan variera egenskaperna hos det nya fönstret en hel del – läs mer om detta i Öppna popup-fönster från en textlänk.

Länka med bild

Om vi vill öppna samma sida med en bild som länk i stället för text, byter vi helt enkelt ut "Klicka här" i A-taggen mot HTML-koden för att visa bilden:

<A href="javascript:nySida()"><IMG src="hpil.gif" border="0" alt="Till min nya sida"></A>

Till min nya sidaDet här visar en klickbar bild som kommer att anropa funktionen nySida(), på samma sätt som textlänken ovan. Attributet "alt" använder vi för att besökare som har stängt av bildvisningen skall kunna se vart länken leder.

Stänga det nya fönstret

Eftersom sidan min_sida.html öppnas i ett nytt webbläsarfönster, kommer history.back och history.go inte att fungera för att stänga det nya fönstret igen – det har ju ingen "history".

I stället kan vi använda följande skript, som placeras direkt i BODY på den öppnade sidan, där vi vill visa texten:

<A HREF="javascript:window.close()">Stäng fönstret</A>

eller

<A HREF="javascript:self.close()">Stäng fönstret</A>

Eftersom "self" och "window" är synonymer, spelar ingen roll vilket vi använder. I båda fallen är innebörden att det öppna (aktiva) fönstret skall stängas.

Den här metoden skall vi bara använda i webbläsarfönster som vi själva har skapat med hjälp av kod, så att fönstret öppnas från ett annat fönster. Om vi försöker stänga det ursprungliga fönstret, kommer webbläsaren att be om bekräftelse innan fönstret stängs.

© SupportData.Net