Autor Zpráva
Maj7
Profil
Zdravím,prosím ještě jednou o radu ohledně otvírání nových oken,které se po kliknutí na ně samy zavřou.
Mám tento script nakopírovaný z této diskuze:


<script Language="JavaScript" type="text/javascript">
<!--
// Hlavní funkce zobrazující obrázek
function ShowFoto (Img, W, H){
// Zjistí rozlišení monitoru (velikost obrazovky)
var Browser = navigator.appName;
var Version = parseInt(navigator.appVersion);
if ((Browser == "Netscape" & Version >= 4) ||
(Browser == "Microsoft Internet Explorer" & Version >= 4)){
ScrH = screen.height;
ScrW = screen.width;
} else {
ScrH = 0;
ScrW = 0;
}

// Vypočítání správné velikosti a souřadnic pozice nového okna
var BorderW = 1;
W += 2*BorderW;
H += 2*BorderW;

var Position;
if ((ScrH > 0) && (ScrW > 0))
Position = ",left="+(ScrW - W)/2+",top="+(ScrH-H)/2;
else
Position = "";

// Vytvoření nového okna
var NewWin = window.open("", "Fotografie",
"toolbar=no,location=no,width="+W+",height="+H+
",directories=no,status=no,menubar=no,"+
"resizable=no,scrollbars=no"+
Position);

// Naplnění - zapsání zdrojového kódu nového okna
with (NewWin.document){
write("<HTML><HEAD><TITLE>Foto - kliknutím zavřete"+
"</TITLE></HEAD>");
write('<BODY BgColor="black" Text="white"'+
' TopMargin="0" LeftMargin="0">');
write('<A Href="javascript:close();"><IMG Src="'+Img+
'" HSpace="'+BorderW+'" VSpace="'+BorderW+'" Border="0"></A>');
write("</BODY></HTML>");
close();

}
}
// -->
</script>

Tento příklad jde bez problému:

<a href="javascript:ShowFoto ('soubory_obrazek.JPG',476,300)">
<img src="soubory_katalog/anese1.jpg" alt="titulek obrázku" width="102" height="77"></a>


Další co jste zde zmiňovali za příklady jsou tyto:

<a href="target.html" onclick="window.open(this.href,'blank','scrollbars=yes,resizable=yes') ; return false">Text</a>

tento příklad by měl být validní,ale nejde nastavit rozměr rámečku a po kliknutí na něj se okno nezavře.



Další třetí:


<a href="target.html" onclick="return !window.open(this.href,'blank','scrollbars=yes,resizable=yes')">Text</ a>
to je úprava pro ty, co mají zablokovaná popup okna...

Tento příklad bych bral aby ty kdo mají bloklí okna aby se jim to otevřelo.Ale zase jak nastavit rozměr rámečku a aby se se po kliknutí sám zavřel.

Pak jsem v dizkuzích našel Váš poslední příklad:


<a href="stranka.html" onclick="return !window.open(this.href, '_blank', 'width=400,height=500');">

ale tady ikdyž jsou nastaveny rozměry my to v prohlížeči stejně otvírá celou šíři okna a nerespektuje rozměry.


Mockrát Vás prosím o radu protože na učení javascriptu nemám čas a nějak se ho zatím bojím.Díky!!!
peta
Profil
!window.open(this.href, '_blank', 'width=400,height=500');
!window.open(this.href, '_blank', 'width=400,height=500');
toto fungovat nemuze, protoze nazev okna (name) smi obsahovat znaky AZaz90 a musi zacinat pismenem
window.open(URL,NAME,PARAM);

href="javascript:ShowFoto ('soubory_obrazek.JPG',476,300)"
toto je zas naprosto zbytecne, protoze bez JS se ti neotevre nic a v href by JS nemel byt

<a href="stranka.html" target="foto" onclick="return fff(this)">
<script>
function fff(Xthis)
{
var a,b,c,reg;
a=Xthis.target;
a.toLowerCase();
if (a=="_blank") {a=="";}
else {reg=new RegExp("[^a-zA-Z0-9]","g"); a=a.replace(reg,"");}
b = window.open(Xthis.href, a, 'width=400,height=500');
c = Boolean(b);
if (c)
{
b.document.onclick=window.close();
if (Boolean(b.focus())) {b.focus();}
}
return (!c);
}
</script>

Nezkouseno, ale uz si s tim poradis. Pokud bys mel problemy:
jakpsatweb - javascript - priklady
jakpsatweb - javascript - objekt window
Maj7
Profil
Mockrát Ti dík,jdu zkoušet,už jsem na to šachování zvyklej,když tomu člověk nerozumí.Dík.
Bubák
Profil
toto fungovat nemuze, protoze nazev okna (name) smi obsahovat znaky AZaz90
Tos sis vycucal ze kterého prstu?
http://www.w3.org/TR/WD-html40-970917/present/frames.html#h-17.2.3

Ve kterém prohlížeči to nefunguje?
<a href="http://www.jakpsatweb.cz" onclick="return !window.open(this.href,'_blank', 'width=700,height=250');">at zije peta</a>
Maj7
Profil
Dal jsem to předtím s tím starým příkladem na web a nefungovalo to du to zkusit.Zatím dík,napíšu jestli to jede.
Maj7
Profil
Takže se to chová takto. V Firefoxu se to zobrazuje správně.
V IE se to otevře přes celou obrazovku v tom samým okně.
V Opeře se to otevře dobře,ale dá se okno ještě zvětšit.
Co s tím?


<script Language="JavaScript" type="text/javascript">
<!--
function fff(Xthis)
{
var a,b,c,reg;
a=Xthis.target;
a.toLowerCase();
if (a=="_blank") {a=="";}
else {reg=new RegExp("[^a-zA-Z0-9]","g"); a=a.replace(reg,"");}
b = window.open(Xthis.href, "width=400,height=500")
c = Boolean(b);
if (c)
{
b.document.onclick=window.close();
if (Boolean(b.focus())) {b.focus();}
}
return (!c);
}
// -->
</script>



<a href="soubory_fotogalerie/12.jpg" onclick="return !window.open(this.href,'_blank', 'width=700,height=450');">
<img src="soubory_fotogalerie/12.jpg" alt="12.jpg, 17 kB" title="12" width="235" height="164" /></a>
los
Profil *
V Firefoxu se to zobrazuje správně.
Ok.
V IE se to otevře přes celou obrazovku v tom samým okně.
Zrejme popup blocker zablokoval nové okno, tak sa to otvorilo v tom istom.
V Opeře se to otevře dobře,ale dá se okno ještě zvětšit.
Nevidím tam nikde nastavenie resizable, takže to chovanie je v poriadku.
Co s tím?
Najjednoduchšie bude zabudnúť na funkciu fff a použiť to, čo fungovalo. Dobré by bolo dať to do externého súboru, vyhodiť odtiaľ tú zbytočnú detekciu prehliadača a napísať to slušnejšie.
peta
Profil
Bubák
"
toto fungovat nemuze, protoze nazev okna (name) smi obsahovat znaky AZaz90
Tos sis vycucal ze kterého prstu?
http://www.w3.org/TR/WD-html40-970917/present/frames.html#h-17.2.3
"
Hned prvni veta, chytraku.
Except for the reserved names listed below, target names must begin with an alphabetic character (a-zA-Z). User agents should ignore all other target names.

mimo jine bavime se o javascript window.open()
sem zvedavy, jak bys adresoval okno s name="_blank"
window._blank.document ?
Bubák
Profil
Myslím, že se shodneme, že "AZaz90" není to samé, jako "a-zA-Z"

Hned prvni veta, chytraku.
A co znamená tprvní část té věty, mám ti to snad přeložit?
Except for the reserved names listed below
A níže uvedené vyhrazené jména jsou:
_blank
_self
_parent
_top

sem zvedavy, jak bys adresoval okno s name="_blank"
Přestože se na to Maj7 neptá, tak to "rád" odpovím.
Okno s name="_blank" jsem nikdy neadresovel, nepotřeboval jsem to, a nehodlám si zbytečným hledánám a testováním zkazit vánoce. Můžu ti však prozradit, že s adresováním okna s name="_top", "_parent", "_self" nemám žádný problém, takové okno je vždy jen jedno, kdežto oken s name="_blank" můžu otevřít "tisíce".

window._top.document? - to asi nebude dobře, dělá se to jinak.
jpw javascript window
peta
Profil
Bubák
Ok, tak je mozne, ze to zrovna v tomto pripade funguje. Aspon jsem to ted testoval v IE a FF a toto jelo. Nevis, jak na tom jsou starsi verze?
Osobne bych se tomu vyhl, protoze tyhle veci se prepisuji v objektu.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0