Allir sem komið hafa nálægt vefsmíði ættu að kannast við pop-up glugga. Þótt það virðist lítið mál í fyrstu að nota slíka glugga er ekki sama hvernig farið er að. Flesta alvöru vafra er til að mynda hægt að stilla til að opna slíka glugga ekki óumbeðna eða jafnvel slökkva alveg á þeim. Eitt er víst að að góð pop-up vörn getur gert mikið fyrir vefinn í heild þar sem allt virðist vera að drukkna óþolandi pop-up gluggum á stundum.
Opera vafranum tekst að mínu mati vel upp og bíður uppá nokkrar stillingar í sambandi við pop-up glugga. Með honum getur t.d valið hvort þú viljir loka á þá alla en í staðin opnist þeir í sama glugga eins og um venjulegan tengil væri að ræða. Í Firebird getur aðeins valið hvort þú viljir hafa pop-ups eða ekki og þá fær notandinn bara þá glugga sem hann biður um. Þetta gerir það að verkum að allir góðir vefforritarar ættu að reyna að sleppa því að opna óumbeðna pop-up glugga því það eru góðar líkur að þeir komist ekki til skila.
Ég setti saman lítið JS fall sem á að sjá um að opna pop-up gluggann fyrir okkur. Þetta er ekki sá hluti sem fól klikkar á enda frekar einfalt með innbyggða open() fallinu. Svona lítur mitt út, það tekur eina breitu sem er slóðin á síðuna sem á að opnast inní glugganum :
-
function newPopUp(url) {
window.open(url, “mypopup”, “width=200,height=200”);
}
-
Þá er komið að því mikilvægasta og því sem kannski mestu skiptir en það er að kalla rétt á fallið okkar. Til að skýra þetta út ætla ég að taka nokkur dæmi :
1) <a href=“javascript: newPopUp('popup.html');”>
Rangt! Þessi aðferð er ekki góð þó hún virki í flestum vöfrum en bara ef smellt er venjulegu vinstri-smelli. Hægri-smelltu og veldu “Open in new window” (shift + smell) í IE og allt fer í steik. Flestir vafrar hafa svipaðar aðgerðir sem virka ekki ef þessi leið er valin.
2) <a href=“#” onclick=“newPopUp('popup.html'); return false;”>
Rangt! Ef slökkt er á JS í vafranum virkar þessi aðferð ekki vegna þess að slóðin á síðuna er falin inní onclick eigindinu. Þetta er samt mun betra en aðferðin á undan og við erum á réttri leið.
3) <a href=“popup.html” onclick=“newPopUp(this.href); return false;”>
Rétt! Slóðin á síðuna er núna á réttum stað og allt virkar eins og það á að gera. Með þessari aðferð er hægt að gera allt við pop-up linkinn sem hægt er að gera við venjulegan link.
Það er ekki nauðsynlegt að notast við newPopUp() fallið hér fyrir ofan, en þannig væri hægt að kalla bara beint á window.open() úr onclick eigindinu. En það getur oft verið nauðsynlegt í stórum verkefnum, þar sem t.d fleiri en ein síða nota pop-up glugga, að kalla alltaf á sama fallið.
Vísanir :
Sýnishorn
http://www.sigurdss0n.com/skrar/javas criptpopups/
How to Create Pop-Up Windows
http://www.youngpup.net/?request=/articles/h ow-to-create-popups.xml
Popups - Peter-Paul Koch
http://www.xs4all.nl/~ppk/js/popup.html