Kispad

Kispad: közös blog
4230 cikk, 53885 hozzászólás
Szerzők | Tudnivalók | Feedek


Hosszú URL törése Internet Exploreren

Ervin cikke a Torokgeek rovatból, 2005. október 21. péntek, 13:02 | 15 hozzászólás

Az IE egyik különösen bosszantó surmósága az, hogy ha egy meghatározott szélességű tartódobozban (div-ben) túl széles elemet helyezünk el, akkor utasításainkra fittyet hányva kitágítja a dobozt, és úgy pakolja bele a cuccot, holott erre a mai világban már léteznek civilizáltabb megoldások is. Nézzük meg, hogy miért volt ez kínos számunkra, és mit tettünk ellene.

A sesblogon egy helyen veszélyes az IE-tágulat: a beleszólások között. Ha ide valaki egy hosszú linket ír be, akkor az IE - szemben az Operával és a Firefoxszal - képtelen azt betördelni, hanem egyben kiírja, el egész Pomázig. Emiatt pedig a jobb oldali, floatolt menüoszlopunk iziben eltűnik jobb fentről és beugrik az íróasztalunk alá.

A hibának a kezdetek óta tudatában vagyunk, ám nem foglalkoztunk vele érdemben, mert megértő olvasóink együttműködésével sikerült elkerülni a hosszú linkek alkalmazását. Ám ekkor enter Sztahanov barátunk, aki rendszeresen és karakánul küldözgetni kezdte a saját weboldalának hosszú linkjeit, és e gyakorlattal még udvarias kérlelésünkre sem volt hajlandó felhagyni.

Már-már ott tartottam, hogy megélhetési trackbackelőnek bélyegzem őt ezért a szokásáért; viszont azt el kellett ismernem, hogy a linkjei relevánsak voltak, főleg, amikor a róluk előugró saját cikke ránk hivatkozott. Miután azonban hosszabb távon sem sikerült őt kooperatívabb linkelési magatartásra bírnunk, két út maradt előttünk: vagy mi is csinálunk valami hasonlóan kedveset odaát őnála, vagy megoldjuk a problémát idehaza.

Az utóbbi mellett döntöttünk, így hát Sz. végső soron megérdemel egy fogcsikorgató kreditet. Pláne, hogy még megoldást is javasolt: egy overflow: hidden css-utasítással bújtassuk el a rakoncátlankodó linkek kilógó részét, ami ugyan szintén nem elegáns, de kétségtelenül jobb, mint ha kétnaponta vízszintesen scrolloznunk kell az aktuális sztahanov-reklám miatt.

Kis gondolkodás után léptünk. Elővettük a Microsoft titkos arzenálját, a csak IE-n működő css-elemeket. Ezek persze azonnal tönkrevágják a stíluslapunk érvényességét, amit igazi sznobként nem tűrhetünk. Ezért a szükséges css-t a conditional comment nevű intézmény segítségével a html oldal fejlécében helyeztük el, imígyen:

<!--[if IE]>
 <style type="text/css">
  body {word-wrap: break-word;}
 </style>
<![endif]-->

Ez megoldja a linktörés problémáját. Legalábbis elvileg. Viszont a hevenyészett IE-teszten a régebbi verziók mintha nem tisztelték volna az anyacég saját kódját. Ezért megtartottuk a Sz.-féle bújtatást is, így most két eshetőség van: az IE vagy tör, vagy dug. De többé nem szedi szét az oldalt.

Köszönjük a motivációt, Alekszej Grigorjevics.

» Ugorj a hozzászóló ablakhoz

Megosztások Facebookon

Eddigi hozzászólások (15)

1

eszpee, 2005. október 21. péntek, 13:08 (#)

Annyit még kiegészítésként, hogy ez az ifes bohóckodás persze szintén IE-only.

2

Ali, 2005. október 21. péntek, 13:11 (#)

A fogcsikorgatás azért érezhető az egész cikken. :)

(Magam is a renitensek köző tartozom azon egyszerű oknál fogva, hogy már az url alapján meg szoktam gondolni, kattintok-e valahova és az url-rövidítő eszköz pont ezt a lehetőséget veszi el tőlem, így egy ártatlannak tűnő href.hu link alatt maga a sátán is lakozhat. :) )

3

eszpee, 2005. október 21. péntek, 13:17 (#)

Ali, és ebben igazad is van, nekem is ez a bajom a linkrövidítésekkel.

Meg egyébként is, emailre találták ki, egy ott létező és nem megoldható problémára, webes linkekre szerintem a fenti mellett még felesleges is.

Plusz egyszer csak - isten óvjon minket tőle - behal, netán megszűnik az éppen használt kedvenc linkrövidítő rendszer, és oda az összes linked, találd ki, mi volt mögötte.

Vagy nem hal be, csak megpróbál pénzt keresni köztes oldalakkal, például.

4

blumi, 2005. október 21. péntek, 13:58 (#)

Először is: thx.
Másodszor: szívesen :-)
Harmadszor viszont felszólalok itt amellett, hogy valamilyen formában fogadjatok már trekkbekket vaze, mer nekem a legkínosabb itt explicitbe reklámozni pulicerdíjesélyes posztjaimat, meg ti pl trekkbekeltek hozzám, amikor idéztek ugye, ami frankó, de én meg viszont nem tudok vissza, hiszen értitek.

5

blumi, 2005. október 21. péntek, 13:59 (#)

Ja még annyit, hogy ezt a posztot kellett volna elolvasnom pályaválasztásom hajnalán, és akkor biztos, hogy a vendéglátóiparba mentem volna a htmlipar helyett, de most már késő.

6

eszpee, 2005. október 21. péntek, 14:03 (#)

blumi, trackback, ez kicsit off, és most ha követketkezetes lennék, ki kéne moderálnom, de talán annyira nem tér el a tárgytól.

röviden, két megoldást tudunk a trackback-re:

1. commentezz nyugodtan, ahogy eddig is tetted, ha tényleg releváns a dolog, akkor semmi szégyellnivaló nincs benne, pláne, ha írsz is még mellé pár szót - amit a trackbackben nem tehetsz meg.

2. középtávon lehet, hogy lesz trackback is, nem igérem, mert iszonyú sok a spam rajta, a kommenthez képest sokkal rosszabb a jel/zaj arány. lehet, hogy valami moderált megoldás lesz, meglátjuk.

Ennyi, és ha nem haragszol, nem is vitáznék itt a trackback-ekről, mert tényleg offtopic vagyunk, és a fenti két ponton kívül úgyse tudok most mást mondani.

7

BaBe, 2005. október 21. péntek, 14:11 (#)

Vicces, de a tűsarok oldalát pedig éppen firefox alatt nyomják szét a linkek, ie alatt simán ketté vannak törve, és műkszenek.
/oda is basztam nekik a heringet :)/

8

NagyGa1, 2005. október 22. szombat, 03:21 (#)

"Annyit még kiegészítésként, hogy ez az ifes bohóckodás persze szintén IE-only"

Nem kötekedni akarok, de akkor mitől marad valid az oldal?

(Ezt annak tudatában kérdezem, hogy megnéztem, 14 hiba, és így kezdődik:

Error Line 349 column 22: document type does not allow element "style" here.


;))

10

ses, 2005. október 22. szombat, 11:52 (#)

NagyGa1 (8), ne nevess korán- vagy előtte nézd meg jobban a hibajelentést, ha már validálsz. :)

A 14 hiba (a figyelmeztetést köszi!) mindegyike a statgép-oldal trehány kódjától volt, azt kizárva validok vagyunk, mint állat - beleértve az ie-only conditional commentet (az ugyanis validál a html-ben belül). Szép hétvégét!

11

NagyGa1, 2005. október 22. szombat, 12:09 (#)

Jelentem időközben eltűnt az összes hiba, passed.

Az első hibaüzenet egyébként pont az [If IE]-s kommentet reklamálta.

(Most meg mintha [if gte IE 5] lenne a kódban, de én igazából ebben nem vagyok kompetens, webet csak messziről ugatom. :))

A mostani helyzet akksi hosszú linkje alapján:
- firefox: kilóg jobbra Nagykátáig, de a layoutot nem bántja
- Opera 8.5: levág
- IE 6: szépen tördel.

Nektek is!

12

ses, 2005. október 22. szombat, 12:33 (#)

NagyGa1, már megint nem figyelsz :)

az első hiba nem az if IE-s kommentet reklamálta, ahogy állítod (mert hiszen azon nem is változtattam, eleve a gte-es verzió volt ott és van most is), hanem a 696. sorban lévő style elembe kötött bele, ami - ahogy mondtam - a statgéphez tartozott. a sorszám alapján neked is beugorhatott volna, hogy akkor ez a hiba valószínűleg nem a head-ben van :P

13

Bártházi András, 2005. október 22. szombat, 22:14 (#)

Az overflow: hidden nem az igazi megoldás, hiszen csak vízszintesen szeretnéd eltüntetni a túlfolyást. Emiatt akkor legyen overflow-x: hidden, az a tuti. Sajna nem szabványos, bár a Firefox 1.5 is támogatni fogja már.

14

blumi, 2005. október 22. szombat, 22:17 (#)

eszpee, nem hiszem, hogy be kéne itt fenyegetned a kimoderálással, ez olyan izé, érted. Egyébként a trackback abszolút kapcsolódik ehhez a poszthoz, sose lett volna megcsinálva, ha a trackback működik, mert nem vetődik fel a probléma.

15

NagyGa1, 2005. október 22. szombat, 23:41 (#)

Jólvanna, mondom hogy nem értek hozzá! ;)


Hozzászólsz?

Igen

Hozzászólást csak névvel együtt fogadunk el. Ha linket írsz be, akkor előtte és utána hagyj egy szóközt, főleg akkor, ha zárójelbe teszed.


Az oldal tetejére | Szerzők, tudnivalók, feedek | sesblog és Kispad © 2003-2010 ervin, eszpee, stsmork