Autor Zpráva
davee961
Profil
Kdopak mi poradí.

Mám tento řádek:
<a href="http://www.seznam.cz" onclick="window.open('http://www.seznam.cz','','scrollbars=yes,resizab le=yes');return false">prohlédni zde</a></p>

Ve Firefoxu mi to funguje dobře, ale v Exploreru 6 mi to otevře sice nové okno i s obsahem, ale do toho původního okna se mi taky otevře i ten nový obsah, což já nechci. Ve Firefoxu se nové okno otevře a v tom původním ten obsah zůstane, což chci. Asi bude někde chyba v příkazu return false, ale nevím kde.

Kdo mi poradí. Díky moc
DJ Miky
Profil
Co třeba
<a href="http://www.seznam.cz" onclick="return !window.open('http://www.seznam.cz','','scrollbars=yes,resizable=yes') ">prohlédni zde</a>
?
Chamurappi
Profil
Reaguji na davee961:
A nebo lépe:
<a href="http://www.seznam.cz" target="_blank">prohlédni zde</a>
davee961
Profil
To DJ Miky:

Tak tohle taky nefunguje.

To Chamurappi:

Takhle to sice jde udělat taky, ale takhle bych to nechtěl.
Chamurappi
Profil
Reaguji na davee961:
Proč ne? Nová okna otevíraná targetem mají vždy scrollbars=yes a resizable=yes — nenastavuješ žádné speciální parametry. Tvé nové okno se od targetu liší jen v tom, že nefunguje při vypnutém JavaScriptu.
davee961
Profil
To Chamurappi:

Já vím, ale já tam nechci žádný panel nástrojů, ani lištu, prostě jen okno. Pokud se to dá taky udělat jinak než v JS, tak mi zkus prosím poradit. Díky.
Chamurappi
Profil
Reaguji na davee961:
Aha. Dobře, tak vezmi řešení od DJ Mikyho a vyplň v něm smysluplně druhý argument funkce window.open, tzn. místo „''“ tam dej třeba „'_blank'“.
peta
Profil
Chamurappi
vyplň v něm smysluplně druhý argument funkce window.open, tzn. místo „''“ tam dej třeba „'_blank'“.

Tenhle clovek mne vzdycky umi pobavit. Sama chytra hlaska :)

Ciste nahodou tohle vis jiste, ze '_blank' je prave smysluplny argument pro window.open NAME okna nebo jen hadas?
Na w3c se pise neco o tom, ze jmeno okna smi obsahovat prvni znak az a ty dalsi mohou byt jine.
Ja jen, ze asi 10x jsem tady nekomu odpovidal, ze mu to prave s takovym NAME nebude fungovat a po jedenacty tu tvrdis opak.
Mohl bych te poprosit o dukaz a www prohlizece, ktere to podporuji?

davee961
odkaz na stranku?
Vypada to, ze by to mohlo byt dobre. Ale chci si take prohlidnout vypis JS konzoly, kdyz jsi ho nepripsal.
davee961
Profil
Zatím mi nic z toho nefunguje. Firefox v pohodě, Explorer 6 nejede.
odkaz na stránky:

http://jungd.hostuju.cz/foto.htm
Chamurappi
Profil
Reaguji na davee961:
Nemáš na serveru nahraný skript „java/movie.js“ (mimochodem, Java má s JavaScriptem společný téměř jen název).

Tvůj webhoster má navíc špatně nastavený server, takže jeho chybová stránka neoznamuje prohlížeči, že soubor nebyl nalezen, a tudíž se ji prohlížeč pokouší zpracovat, jako by byla JavaScript. Doporučuji změnit hosting.


Reaguji na petu:
tohle vis jiste, ze '_blank' je prave smysluplny argument pro window.open NAME okna nebo jen hadas?
Je to cílové okno — ano, to vím to jistě. Teď jsem si ověřil, že prázdný řetězec funguje stejně jako „_blank“.

Na w3c se pise neco o tom, ze jmeno okna smi obsahovat prvni znak az a ty dalsi mohou byt jine.
Jméno okna dle W3C podtržítkem začínat nesmí, ale pro target existuje výčet výjimek. Prakticky je úplně jedno, co konsorcium píše, podtržítko spolehlivě funguje.

ze asi 10x jsem tady nekomu odpovidal, ze mu to prave s takovym NAME nebude fungovat
Tohle je pokus o vtip? Ty jsi tu stokrát opakoval, že s podtržítky v identifikátorech jsou problémy a já ti to vytrvale vyvracel. Nikdy jsem nikomu nepsal, že atribut name s podtržítkem nebude fungovat. Takovou kravinu bych se neopovážil vyslovit ani jednou, natož desetkrát.

Mohl bych te poprosit o dukaz a www prohlizece, ktere to podporuji?
Najdi mi jeden jediný JS-znalý prohlížeč, který to nepodporuje.

Tenhle clovek mne vzdycky umi pobavit.
Nejen to, umím tě i mazat.
Měsíček
Profil
Jste snad slepí ?

onclick="window.open('http://www.seznam.cz','','scrollbars=yes,resizab le=yes');return false"

nevidíte tu vnořenou uvozovku (přebývající) .cz','','scrollbars a nedotáhnutý resizable ??!

Peta :

ty jsi číslo :-))
Měsíček
Profil
takže snad funkční skript by měl býti :

<a href="http://www.seznam.cz" onclick="window.open('http://www.seznam.cz','Já jsem seznam','scrollbars=yes,resizable=yes');return false">Prohlédni zde</a></p>
Chamurappi
Profil
Reaguji na Měsíčka:
Za rozpůlený resizable může tohle fórum (jakási obrana proti dlouhým řádkům) a místo vnořené uvozovky vidíme my slepci dva apostrofy. Kdyby tam skutečně byla uvozovka, nefungovalo by to ani v Mozille, ne?

Funkční verzi skriptu napsal už DJ Miky. Na vině skutečně bude ten chybějící externí skript.
Měsíček
Profil
Chamurappi :

V tom případě nechápu dvě věci :

1.) Proč tam cpe "return false"
2.) A proč není ten problém vyřešen hned ??

vždyť říká, že se mu otevře zároveň JS okno a změní se mu i to defaultní - no bodejď ne když nastavuje src...

Takže tohle otevře, okno + změní defaultní :

<a href="http://www.seznam.cz" onclick="window.open('http://www.seznam.cz','Já jsem seznam','scrollbars=yes,resizable=yes');return false">Prohlédni zde</a></p>

a tohle otevře jen okno :

<a onClick="window.open('Http://www.seznam.cz', 'SEZNAM', 'scrollbars=yes, resizable=yes')">Klikni zde</a>
Bubák
Profil
Měsíček
Když ž děláš takovou prasárnu, dej onClick třeba do tagu <u>, vyjde to nastejno.

Víš, co je to přístupnost? Proč prosazuješ nepřístupné řešní?
Chamurappi
Profil
Reaguji na Měsíčka:
V tom případě nechápu dvě věci: Proč tam cpe "return false"
vždyť říká, že se mu otevře zároveň JS okno a změní se mu i to defaultní - no bodejď ne když nastavuje src
Zkus se zamyslet, jestli spolu tyhle dvě věci nemohou nějak souviset.
Pokud nerozumíš větě „ve Firefoxu mi to funguje dobře“ a nechápeš podstatu problému, tak se prosím nevyjadřuj.
Měsíček
Profil
Bubák,Chamurappi :

???

Vždyť to funguje ;) jak ve firefoxu tak i "teď" v IE ;)
Měsíček
Profil
a jestli tam chce cpát return false ;) tak ať si udělá externí funkci, myslím, že return na nic jiného než na blokové funkce,with atd.. nefunguje .. opravte mě jestli říkám koninu ..

Chamurappi : Jestli jsem to nepochopil vysvětli mi to .
Timy
Profil
Měsíček
„myslím, že return na nic jiného než na blokové funkce,with atd.. nefunguje“
No právě… To return false; ti zajistí, že se neaktivuje ten odkaz, když na něj klikneš, ale provede se jen funkce v onclick. A to Mikyho řešení je lepší v tom, že nevrací false vždycky, ale jen v případě, kdy se podaří provést to otevření okna javascriptem.

„<a onClick="window.open('Http://www.seznam.cz', 'SEZNAM', 'scrollbars=yes, resizable=yes')">Klikni zde</a>“
A uživatelé bez javascriptu ať si trhnou nohou…
Bubák
Profil
A uživatelé bez javascriptu ať si trhnou nohou
Také současné vyhledávacě to nepřelousknou.

Měsíček
Nastav si v IE pro Internet > Zabezpečení > Vysoké (bývá někdy v internetových kavárnách, školních PC učebnách...), a zkus, jestli tvůj "špičkový" kód funguje.
Měsíček
Profil
V tom případě by měl být nejlepší tenhle :

<a href="http://www.seznam.cz" target="_blank" onclick="window.open('http://www.seznam.cz','Seznam','scrollbars=yes,r esizab le=yes');return false;">prohlédni zde</a></p>

pokud není zapnutý JS tak otevře normálně přes href a pokud JS je zapnutý otevře v JS a nic se do defaultního okna nenačítá .. vše do nově otevřeného ... pochopil jsem to teď ??
Bubák
Profil
DJ Miky hodil jedno z dobrách řešení. Timy napsal proč. Jinak je to popsáno třeba na JPW:
http://www.jakpsatweb.cz/javascript/window.open.html#blokovani
peta
Profil
Měsíček
Clovece, tys tu chybel. Jeste lepsi zabava nez s Chamurappi :)
Zkusim to shrnout...
- mezera navic je ochrana fora proti dlouhym radkum, zalamovani. Lepsi zpusob neni. Tobe se to zrejme zatim nestalo, takze ti to nikdo nevycita
- return false je tam pro to, aby se href nevykonal, pokud funguje javascript v prohlizeci
- odkaz...
<a href="http://www.seznam.cz" target="_blank" onclick="return !window.open(this.href,'seznam','scrollbars=yes,resizable=yes')">prohl édni zde</a></p>
tohle reseni uz bylo zmineno, takze jediny problem uz muze mit jen davee961, v tom pripade ale potrebujeme jeho kod, ODKAZ NA STRANKU.


Chamurappi
http://www.w3.org/TR/REC-html40/types.html#type-frame-target
- to plati vyhradne pro HTML framy a nic jineho
A ted si najdi dokumentaci k JS laskave, hm?
A mimo to si prohledni JS konzolu. Jestli to to funguje s podtrzitkem, pak ti to otevre nove okno, protoze na chybny target otevre vzdy nove okno.
Zkratka a dobre, v JS muzes pouzit jen tlatne nazvy oken.
_blank je konstanta, kterou aplikuje www prohlizec. Ale v JS takova konstanta neni ani funkce, ktera by ji umela zpracovat. Hawk. Neveris, mkni na JS konzolu a na w3c dhtml
Měsíček
Profil
Peta : s tebou je taky zábava ty asi neaktualizuješ stránky :-)) to return false jsem dávno pochopil a do konečného skriptu taky dal tak nevím co řešíš ;) a pořád nechápu co na mém posledním kódu nefunguje :-))
Chamurappi
Profil
Reaguji na petu:
v tom pripade ale potrebujeme jeho kod, ODKAZ NA STRANKU
Ten už přeci máme, davee961 ho dodal necelou hodinu po tvém předchozím příspěvku. Dokonce máme už i diagnózu: chybějící externí skript a hloupý freehosting.

- to plati vyhradne pro HTML framy a nic jineho
Plácáš nesmysly. Jako obvykle sis to vůbec nevyzkoušel. Nic sis neověřil a jen se zoufale snažíš uhájit vlastní utkvělou představu.

A ted si najdi dokumentaci k JS laskave, hm?
OK. Hodnota „_blank“ je zmíněna tady i tady.

Neveris, mkni na JS konzolu a na w3c dhtml
Prohlížeče žádné chyby nehlásí a W3C metodu window.open nikdy nedefinovalo (stejně jako většinu částí objektu window).
peta
Profil
Chamurappi
zkousel jsem, zrejme to opravili. mam pocit, ze jeste v 0.6 to hlasilo chybu.
Chamurappi
Profil
Reaguji na petu:
jeste v 0.6 to hlasilo chybu
1) Jestli tím číslem 0.6 myslíš verzi Firefoxu (tenkrát Firebirdu) či velké Mozilly, tak se asi pleteš, protože teď jsem zkoušel otevírání do „_blank“ v téměř osm let staré verzi Milestone 13 a už i tam funguje.
2) Jestli je 0.6 překlep a myslíš tím Internet Explorer 6.0, tak se také prokazatelně pleteš.
3) A nakonec: jestli znamená 0.6 čas 06:00 hodin večer, tedy dnes v 18:00, tak tos mě dostal, protože v tu hodinu jsem to fakt netestoval.

Pravděpodobnější ale je, žes to nezkoušel, protože sis až v této diskusi uvědomil, že druhý argument může být podtržítkový target.
peta
Profil
Chamurappi
myslel jsem 2.0.6, coz neni dulezite. Podstatne je, ze to vazne funguje, ikdyz na w3c maji v pravidlech pro nazev okna pismeno.
Take je mozne, ze jsem mel jiny priklad, se _self, _new,_parent nebo neco podobne. Kazdopadne mi to nechtelo chodit v konstrukci
<a href="http://www.seznam.cz" target="_cil" onclick="return !window.open(this.href,this.target,'scrollbars=yes,resizable=yes')">
a rekl bych, ze to bylo prave blank a ze jsem to musel opravovat na ''.

100% budu tvrdit, ze mi to nechodilo.

Ze to chodilo v Mealstormu jeste nic neznamena, mohlo jit o bug, ktery vznikl v pozdejsi verzi a byl nasledne odstranen.
Bubák
Profil
A mimo to si prohledni JS konzolu. Jestli to to funguje s podtrzitkem, pak ti to otevre nove okno, protoze na chybny target otevre vzdy nove okno.
To je blábol, na stránce s rámy fungují další hodnoty začínající podtržítkem, jako _self, _top, _parent podle očekávání, tedy úplně stejně, jako obyčejný odkaz s targetem.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0