Autor Zpráva
baldur
Profil *
Dobrý den,
na svých nových stránkách jsem narazil na pár problémů s kompatibilou napříč prohlížeči a nevím si s některými rady... Na stránkách používám jQuery 1.4.2. Zatím je vytvářím na localhostu a tak nemůžu poslat odkaz, snad budou stačit části kódu.
Problémy s Firefoxem:

Firebug ve firefoxu mi pořád ukazuje nepřeberné množství chyb spojených s jQuery, přitom např. v Opeře, nebo Chrome funguje naprosto v pohodě. Kromě toho mám ve firefoxu problém s cookies, mám na stránce hlavičku, která kontroluje přítomnost cookie, po přihlášení se cookie uloží (úspěšně i ve ff) ale skript ve hlavičce ji ignoruje. Ale když přejdu na jinou podstránku, kde se přítomnost cookie taky kontroluje, tak ji to detekuje korektně. Zde je nefunkční kód v hlavičce:
<?php if(!isset($_COOKIE['nazev_cookie'])) {
  nějaký kód
 } else { 
  nějaký kód
 } ?>

S tímto kusem kódu mi to vždycky vyhodí první sekci, tedy že cookie neexistuje a přitom název se shoduje a cookie existuje.

Problémy s IE (odzkoušeno ve verzi 8):
Explorer mi už při načtení stránky v dolní liště ukazuje tyhle chyby:

A mám na stránce vytvořené animace v jQuery po kliknutí na tlačítko, na které když ovšem kliknu, se mi v IE opět zobrazí tato hláška (v ladícím režimu) a animace se neprovede:


A poslední problém, to spíš tak pro zajímavost jestli to někdo neví. Mám na stránkách průhledný png, který je nad určitou částí stránky (tlačítka, obrázky atp.) ale přes tento png nejde na tlačítka kliknou ve všech prohlížečích mimo Opery. Když to vyřeším pomocí z-indexu, tak se mi png pošle do pozadí a já bych ho potřeboval před obsahem. Jde to nějak?

Předem díky moc za rady!
Robie
Profil *
Použij straší verzi jQuery a přilinkuj ho před vším ostatním. Pokud to nepmůže, tak dej odkaz na živou ukázku.
Chamurappi
Profil
Reaguji na baldura:
Firebug ve firefoxu mi pořád ukazuje nepřeberné množství chyb spojených s jQuery
To nejsou chyby, ale zpřísněná varování. Vypni si v nastavení konzole „Zobrazovat přísná varování“ a zmizí.

Zde je nefunkční kód v hlavičce
Jako by z oka vypadl nějaké učebnici (okaté). Pochybuji, že z jednoho řádku někdo vyvěští příčinu problému.

Explorer mi už při načtení stránky v dolní liště ukazuje tyhle chyby
Zajímavé. Co máš na řádku číslo 206 765 699? Zkoušel jsi už na to číslo zatelefonovat? :-)
Myslím, že bez živé ukázky se nikam nehneme. Když nedokážu chybu reprodukovat, těžko zjistím, co ji způsobuje. Hlášku „Neplatný argument“ hlásí Explorer, pokud se pokoušíš do nějaké CSS vlastnosti vepsat něco, co do ní nepatří či co nedodržuje potřebnou syntaxi. U tebe je tedy otázka, co se jQuery pokouší vepsat a do které vlastnosti…

přes tento png nejde na tlačítka kliknou ve všech prohlížečích mimo Opery
V Opeře jde prokliknout skrz průhledná místa? Překvapivé. (Nebo jsem to nepochopil?)
V Internet Exploreru jde stejného efektu dosáhnout, pokud PNG zobrazíš přes filtr AlphaImageLoader. V ostatních prohlížečích to, pokud vím, nejde nijak. Obrázek — jako celý obdélník — může být buď před něčím, nebo za něčím.

Mimochodem, není vhodné řešit v jednom vlákně hromadu různých problémů naráz. Představ si, že sem vyhledávač pošle někoho, kdo řeší jen jeden z nich — a bude se muset prokousávat nesouvisejícími radami. Kdyžtak toto vlákno rozdělím…


Reaguji na Robbieho:
Co vyřeší starší verze?
baldur
Profil *
Chamurappi:
>>>„Firebug ve firefoxu mi pořád ukazuje nepřeberné množství chyb spojených s jQuery“
>>>To nejsou chyby, ale zpřísněná varování. Vypni si v nastavení konzole „Zobrazovat přísná varování“ a zmizí.
Dobře díky, tohle mě ani moc netrápí, když to nic nezpůsobuje :-) jenom mě to trochu zarazilo.

>>>„Zde je nefunkční kód v hlavičce“
>>>Jako by z oka vypadl nějaké učebnici (okaté). Pochybuji, že z jednoho řádku někdo vyvěští příčinu problému.
Já vím, že by byl potřeba celý kód, ale zatím mi to funguje jen na localhostu společně s databází atp. a ještě to ani není dodělané, tak bych to na nějakém ftp zatím těžko zprovozňoval. Jenom jsem se chtěl zeptat jestli se s tímto už někdo nesetkal, že by ff ignoroval cookies.

>>>V Opeře jde prokliknout skrz průhledná místa? Překvapivé. (Nebo jsem to nepochopil?)
Ano, mě se to úspěšně daří :-) U exploreru zkusím tedy ten filtr, a u ostatních prohlížečů to asi jednoduše zakážu, hold design musí ustoupit funkčnosti :-)

>>Hlášku „Neplatný argument“ hlásí Explorer, pokud se pokoušíš do nějaké CSS vlastnosti vepsat něco, co do ní nepatří či co nedodržuje potřebnou syntaxi. U tebe je tedy otázka, co se jQuery pokouší vepsat a do které vlastnosti…
Tahle hláška se zobrazí po zavolání tohoto příkazu (který všude jinde funguje bez problému):
$("#pc_"+$(this).attr("id")).animate({height: $("#pc_hidden"+$(this).attr("id")).css("height")});


>>>Mimochodem, není vhodné řešit v jednom vlákně hromadu různých problémů naráz. Představ si, že sem vyhledávač pošle někoho, kdo řeší jen jeden z nich — a bude se muset prokousávat nesouvisejícími radami. Kdyžtak toto vlákno rozdělím…
Omlouvám se, nechtěl jsem jen "zbytečně" zakládat tři nová vlákna.

Robie:
původně jsem pracoval se starší verzí jQuery až po této chybě jsem zkusil upgradovat, a pořád mi to hlásí stejnou chybu.
Chamurappi
Profil
Reaguji na baldura:
hláška se zobrazí po zavolání tohoto příkazu
Tipnul bych si, že z nějakého zvláštního důvodu selže měření výšky elementu. Předpokládám, že příčinou bude ta předcházející chyba s devíticiferným číslem řádku. Lokalizovat lépe, co ji vyvolalo, nejde? V ladícím režimu se neukáže?
baldur
Profil *
Chamurappi:
nn právě že se ani v tom ladícím režimu neukáže. Ale vždycky se vyvolá chyba a odkáže mě to na ten řádek 5899 v jQuery (viz. výše).
Chamurappi
Profil
Reaguji na baldura:
Hm. Napsal jsem ti přibližně, co ji způsobuje — víc zjistit nemůžu.
baldur
Profil *
Chamurappi:
Jasně, kdyžtak napíšu až budu moct poslat odkaz na to jak to funguje, případně jestli to vyřeším.
zatím díky!
baldur
Profil *
Tak už vím proč se mi to v ie neanimuje. Ostatní prohlížeče totiž dokáží změřit velikost daného elementu v pixelech, ale ie mi vyhazuje auto, jelikož nemám v css pevně stanovenou výšku. A když nastavím výšku na 100%, tak to většina prohlížečů zvládne korektně zanimovat podle obsahu, ale ie nastaví výšku na záhadně vysoké číslo (pravděpodobně na základe výšky nadřazeného prvku, který ovšem má výšku řádově o hodně menší)
Chamurappi
Profil
Reaguji na baldura:
Ostatní prohlížeče totiž dokáží změřit velikost daného elementu v pixelech, ale ie mi vyhazuje auto
Vskutku, tohle jQuery nezvládá srovnat. Osobně mi dává hodnota auto u elementu s automatickou výškou větší smysl.

Nepoužívej na zjištění skutečné výšky $(…).css("height"), ale $(…).height(). Stejně je čtení čehokoliv ze stylů hloupé — styl je pouhý výstup a správně napsaný skript by jej neměl nijak zpracovávat.
baldur
Profil *
Chamurappi:
Nnj, to mě taky mohlo napadnout :D super, už to funguje, díky! Teď už jenom ten ff a cookies a bude to skoro ideální :)
baldur
Profil *
Tak nakonec i cookies vyřešeny. Zkusil jsem si vytvořit jednoduchý skript na uložení a načtení cookies, abych věděl jestli se objeví stejný problém nebo ne, a objevil se. Ale stačilo stránku párkrát refreshnout a i ff cookie rozpoznal. Předpokládám že je tenhle problém spojen s localhostem a na webu to pojede koretně. Kvůli localhostu také jinak zapisuju do cookies aby se cookie vůbec uložila:
setcookie("název", "hodnota", false, "/", false);

namísto
setcookie("název", "hodnota", time() + 60*60*24*365);

Nevím jestli to má na to nějaký vliv, no ale hlavně že je po problému :-)

Díky moc za pomoc!

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Prosím používejte diakritiku a interpunkci.

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

0