window.open a syntaxe A

From: pp21 (pp21@mail.cz)
Date: 02. 12. 2001, 15:10 CET


Zdravim,

rad bych vyvolal mensi diskuzi (ne polemiku!) o tom, jak pres odkaz
otevirat JavaScriptem okno tak, aby to bylo "optimalni".

Ja znam 3 funkcni syntaxe, ale ani jedna neni idealni:
__________
1.
Mam definovynou funkci pro otevreni okna asi takto:
function OpenWin(myurl) {
    window.open(myurl,"MojeOkno","parametry_okna")
}

Ve strance odkaz:
<A href="javascript:OpenWin('stranka.html')">klikni si</A>

Funguje to OK, ale ma to nekolik nevyhod:
* Po kliknuti na odkaz se okamzite prestane nacitat stranka, vcetne
  obrazku. Pokud se jedna o stranku s nahledy obrazku, userovy se
  nacte treba prvich 5 nahledu ze 40ti on na jeden klikne, zobzazi
  se mu vetsi obrazek v novem okne, pak to okno zavre, a ma pred
  sebou stranku s nahledy, kde je nacteno pouze tech prvnich
  5 obrazku. Maloktery obycejny user pochopi, ze musi dat reload,
  aby videl vsechny nahledy.
* Pokud user da "otevrit v novem okne", otevre se mu akorat prazdne
  okno, protoze prohlizec nezna url "javascript:...".

__________
2.
Mam definovynou funkci pro otevreni okna asi takto:
function OpenWin(myurl) {
    window.open(myurl,"MojeOkno","parametry_okna")
}

Ve strance odkaz:
<A href="#" OnClick="OpenWin('stranka.html')">klikni si</A>

Funguje to OK, po kliknuti se stranka nacita dal s obrazky, ale ma
to nekolik nevyhod:
* Ve stavovem zadku se zobrazuje akorat #, coz nepusobi zrovna
  moc verohodne :(
* Pokud je user nekde v polovine stranky, tak ho to tim kliknutim
  vyhodi na zacatek stranky, coz je takovej neprijemnej vedlejsi
  produkt toho "#".
* Pokud user da "otevrit v novem okne", otevre se mu tataz stranka,
  script je mi nicemu, a "stranka.html" nikde :(

__________
3.
Mam definovynou funkci pro otevreni okna asi takto (pozor zmena!):
function OpenWin() { window.open("","MojeOkno","parametry_okna") }

Ve strance odkaz:
<A HREF="stranka.html" onClick="OpenWin()" target="MojeOkno">
klikni si</A>

Asi nejlepsi varianta ze vsech. Po kliknuti se nejprve provede script
ktery otevre pojmenovane okno a pak se v tom okne otevira dana
stranka. Ve stavovem radku je zobrazena URL standartnim zpusobem.
Pokud user da "otevrit v novem okne", otevre se mu to co ma, akorat se
neprovede ten script, coz ale zase tak nevadi. Po kliknuti se stranka
nacita dal.

Ma to jedinou nevyhodu:
* Asi tak v jednom pripade z 50ti se nejprve provede otevreni noveho
  okna a az potom ten script. Takze user ma standartni nove okno
  s "stranka.html" a jeste k tomu pres JS otevrene nadefinovane okno,
  ale to je prazdne. Tahle se chova IE, ale i Netscape6 a Mozilla to
  obcas udela take :(

____________________

Znate nekdo nejake jine reseni?

Predem dik za podnetne pripominky.


-pp21-



This archive was generated by hypermail 2.1.2 : 02. 12. 2001, 15:15 CET