Autor | Zpráva | ||
---|---|---|---|
inner Profil * |
#1 · Zasláno: 30. 3. 2008, 23:29:24
Zdravím, mám následující problém:
mám span a v tom spanu odkaz <span id="test"><a href="ss" target="test1" onclick="jstest('test')" >bla</a></span> Funkce jstest udělá to že aktivuje funkci inner html v externím souboru s javaskriptem a tato funkce přepíše obsah SPANU s id "test" na hotovo... takže vlastně po kliknutí na odkaz ten odkaz zmizí a objeví se místo něj slovo hotovo, HREF odkazu mám namířený pomocí TARGET do IFRAMU jménem test1 na té stránce. Problém je ten, že v IE se po kliknutí na odkaz sice správně nahradí odkaz slovem "hotovo", ale neprovede se HREF odkazu... (stránka v HREF se v iframu vůbec neotevře) dělá to i IE6... ve FF a v Opeře to funguje bez problému... jak to mám udělat aby to fungovalo i v IE? (Tedy po kliknutí na odkaz by se jeho HREF otevřel v tom iframu a pak odkaz zmizel a místo něj se objevilo slovo hotovo, tak jak to ted správně funguje ve FF a opeře) díky moc za případné rady |
||
joe Profil |
#2 · Zasláno: 31. 3. 2008, 02:04:08
Tak přidej do funkce jstest v js podmínku, pokud se jedná o IE, tak načti do iframu soubor. Pokud bude js vypnutý, provede se href.
|
||
inner Profil * |
#3 · Zasláno: 31. 3. 2008, 07:07:14
A nejde nějak IE donutit aby se nechoval tak retardovaně a normálně to bral?
|
||
inner Profil * |
#4 · Zasláno: 31. 3. 2008, 09:08:44
Jak přikážu javascriptu otevvřít v IFRAMu tu adresu? zkoušel sem
document.getElementByTagName('fram').location.href = "http://seznam.cz"; ale to nefunguje |
||
inner Profil * |
#5 · Zasláno: 31. 3. 2008, 09:13:18
Tak to už mam ted ještě jak udělat podmínku která se provede jen v IE?
|
||
inner Profil * |
#6 · Zasláno: 31. 3. 2008, 09:48:23
Sakra v IE6 nefunguje this.href to se mi snad zdá, no aspon že IE7 to umí
|
||
Chamurappi Profil |
#7 · Zasláno: 31. 3. 2008, 09:52:39 · Upravil/a: Chamurappi
Reaguji na joa:
„přidej do funkce jstest v js podmínku, pokud se jedná o IE“ No fuj. Proč detekovat prohlížeč? Reaguji na inner: To nalistování pomocí skriptu nefunguje v ostatních prohlížečích? Jestli ano, tak tam detekci nedávej. Na světě nejsou jen tři prohlížeče. |
||
inner Profil * |
#8 · Zasláno: 31. 3. 2008, 09:56:20
Právě že v ostatních prohlížečích to funguje jen v IE ne a předpokládám že když to funguje ve FF a opeře, ostatní prohlížeče sou dost normální na to aby to v nich jelo taky...
nějaký návrh jak v IE6 rozchodit this.href? :) |
||
inner Profil * |
#9 · Zasláno: 31. 3. 2008, 09:58:49
Respektive jde mi hlavně o to jak v externím skriptu, ve funkci získat HREF odkazu bez toho, abych ho musel do toho onclicku vepisovat jako hodnotu...
|
||
Chamurappi Profil |
#10 · Zasláno: 31. 3. 2008, 09:59:29
Reaguji na inner:
Mně naopak připadá normální, že se odkaz, který už neexistuje, neprovede. Nikdy mě nenapadlo to zkoušet, ale pochybuji, že to pojede ve všech verzích Mozilly a Opery. Hoď sem živou ukázku nebo kód. Nalistování do <iframu> jde snadno napsat tak, aby jelo napříč všemi prohlížeči. |
||
Chamurappi Profil |
#11 · Zasláno: 31. 3. 2008, 10:01:17
Reaguji na inner:
onclick="jstest('test', this.href)" — pak bude druhým argumentem hodnota atributu href. |
||
inner Profil * |
#12 · Zasláno: 31. 3. 2008, 10:08:57
Už jsem to vyřešil,
sem blbec, měl sem na stránce totiž známky k fotkám a alert() mi pořád vracel že je ta hodnota prázdná, jenže já sem zapomněl že sem this.href nastavil zkušebně jen do jedné známky a přitom klikal na ostatní:) Omlouvám se IE6 že sem na něj nadával:) Mimochodem kolik % lidí ještě používá IE6 oproti novému IE? |
||
inner Profil * |
#13 · Zasláno: 31. 3. 2008, 10:10:35
Mně naopak připadá normální, že se odkaz, který už neexistuje, neprovede.
Já měl za to že se to provádí popořadě, když mám třeba <a href="" target="" onclick="" tak prohlížeč nejdřív provede href v targetu a potom spustí onclick kterej už ten provedenej odkaz smaže.. nebo to tak není? |
||
Chamurappi Profil |
#14 · Zasláno: 31. 3. 2008, 10:18:01
Reaguji na inner:
„kolik % lidí ještě používá IE6 oproti novému IE?“ Množství větší než zanedbatelné. „prohlížeč nejdřív provede href v targetu a potom spustí onclick“ Ne, nejdřív se spustí onclick. Obsluha té události může nalistování odkázané stránky zrušit pomocí return false. Zkus si třeba <a href="odkaz.html" onclick="return confirm('Opravdu přejít na odkaz?')"> — na odkaz se přejde v závislosti na vyhodnocení funkce confirm. |
||
joe Profil |
#15 · Zasláno: 31. 3. 2008, 21:24:35
Chamurappi
Proč fuj? Není na tom nic špatného. Rozhodně lepší načítat stránku jednou, než aby dvakrát proklikla například. Samozřejmě, že když provede jen nějakou funkci a vrátí false, tím pádem se neprovede href je lepší. Ale určitě není špatná podmínka pro zjištění prohlížeče! |
||
Chamurappi Profil |
#16 · Zasláno: 31. 3. 2008, 21:42:54
Reaguji na joa:
„Rozhodně lepší načítat stránku jednou, než aby dvakrát proklikla například.“ Samozřejmě. V onclick se pomocí skriptu nalistuje adresa do <iframu> a vrátí se false => načte se jen jednou a všude stejně. „Ale určitě není špatná podmínka pro zjištění prohlížeče!“ Jde to spolehlivě a snadno vyřešit bez ní, proto určitě špatná je. Jak poznáš prohlížeč, který se v tomto chová jako Explorer, od prohlížeče, který se v tomto chová jako současná Mozilla? |
||
peta Profil |
#17 · Zasláno: 1. 4. 2008, 08:44:08
Chamurappi
Javascript spolehlive funguje jen v dominantnich prohlizecich, coz je IE, Moz. Na tech ostatnich, ktere neumi spoustu dalsich zakladnich veci bych neresil problem, ze si neporadi ani s touto. |
||
Časová prodleva: 16 let
|
0