|
|||
|
JavaScript.nu
/
JavaScript-kurs
/
Location, parent.location och top.location
Det du nu ska lära dig är att du vet på vilken sida du är på (?). Nja, jag kan lova att det inte är så korkat som det låter, för det rör sig om JavaScript...
Har jag skrivit detta på måfå?
<SCRIPT LANGUAGE="JavaScript"> <!-- document.write("Ok, just nu är du på denna sida:<BR>"); document.write("" + location + "<P>"); document.write("Om du har frames så ligger denna sida som du nu läser i denna framesida:<BR>"); document.write("" + parent.location + "<P>"); document.write("Om du har många framesidor i andra framesidor så kanske det jag skrivit där ovan inte är det som du ser i adressfältet, hur som helst ser du detta i adressfältet:<BR>"); document.write("" + top.location + "<P>"); //--> </SCRIPT>Egentligen finns inget nytt i detta script, det enda som är nytt så att säga är ju att jag skriver ut några värden (det gör man ju genom att skriva " + det_varde_som_ska_skrivas_ut + "). Värdena som jag skrivit ut, är till skillnad mot de värden du lärt dig, redan deklarerade, alltså att man inte behöver ge dem ett värde.
Vad kan nu dessa script vara bra för?
Detta är ett roligt och väldigt effektivt script som du kan använda, det skriver du såhär: <SCRIPT LANGUAGE="JavaScript"> <!-- if (top.location != location) { top.location.href = location.href } //--> </SCRIPT>Vad gör då detta script? Jo, det är så att först tar webbläsaren reda på om top.location (det du ser i statusraden) har samma värde (adress) som location (den sida som scriptet finns på). Om värdena inte (det står ju inte ==, utan !=, vilket betyder att de inte är likadana) är likadana så startar scriptet på nästa rad, alltså att top.location.href (värdet i adressfältet) ska ändras till det värde som location.href (sidan med scriptet) har. Detta är ju utmärkt då du har en sida med frames, men inte vill att folk som länkar till dig ska ha dig i sin frame, utan ha din frame i helskärm.
Du kan också använda dessa funktioner i andra bra syften.
OBS: Observera att om du har frames i frames (alltså en framesida i en annan)
så måste du tänka på att i vissa fall byta parent mot top.
Nu frågar du vad sjutton i vissa fall betyder...
Nu hoppas jag på att du blivit lite klokare, detta är nämligen roliga saker att lära sig i JavaScript.
Nu tillbaka till scriptet jag skulle lära dig (att öppna en sida som finns i en frame
i en annan frame eller kanske t.o.m. i helskärm).
<SCRIPT LANGUAGE="JavaScript"> <!-- parent.sidan_som_ska_forsvinna.location.href = parent.sidan_som_ska_komma_upp.location.href //--> </SCRIPT>Skulle du skriva detta rakt av så skulle ju sidan som finns i ramen "sidan_som_ska_forsvinna" ersättas på direkten av sidan som finns i ramen "sidan_som_ska_komma_upp". Alltså bör du sätta detta i t.ex. en funktion och aktivera scriptet med en länk (<A HREF="JavaScript:scriptets_namn()">). Skulle du vilja att sidan som finns i ramen (framen) "sidan_som_ska_komma_upp" ska komma upp i helskärm skriver du: <SCRIPT LANGUAGE="JavaScript"> <!-- top.location.href = parent.sidan_som_ska_komma_upp.location.href //--> </SCRIPT> Som vanligt... Till nästa del. Copyright © Omid Rouhani 1997-2022; Alla rättigheter reserverade. Guider: [ HTML guide ] - [ JavaScript guide ] - [ DHTML guide ] - [ Perl guide ] - [ Sitemap ] |