2008 20. junij 2008

Bela Vesolje Bug v postavk / Seznam (li) v IE6

Če ste doslej (ali pa kar eno) vertikalnim Meni uporabo elementov seznama (LI) oznake in CSS, lahko naletite, je to še ena napaka v Internet Explorerju, kjer IE 6 vložki teh razlik med elementov seznama, ki vsebujejo elemente na ravni blokov, ki se pravi, če obstaja kakršen koli presledke med seznamom postavk v pribitkom. Hvala, ampak ne hvala, različica IE 7 se zdi, brez tega hrošča.
Če, kot sem jaz in še veliko več, lahko spadajo v to skupino od frustriranih razvijalcev, ki še vedno imajo, da bi dobili svoje nove postavitve, ki delajo v IE6 preveč, potem bi to lahko izkaže za koristno. Oglejte si ...

Vzorec oznake:

<ul id="menu">
<li> <a href="#"> Home </ a> </ p>
<li> <a href="#"> O </ a> </ p>
<li> <a href="#"> Storitve </ a> </ p>
<li> <a href="#"> Portfolio </ a> </ p>
<li> <a href="#"> Pogosta vprašanja </ a> </ p>
<li> <a href="#"> Kontakt </ a> </ p>
</ Ul>

Morda boste ustvarili nekaj CSS, podoben spodnjemu, da transfrom zgornje oznake v navpičnem meniju ....

Primer CSS ...
# Menu {
margin: 0; padding: 0; background: # FF9900;
Seznam-style-type: none; širina: 150px;
}
# Meni li {margin: 0; padding: 0;}
# Menu {zaslon: block;
color: # 555555;
text-decoration: none;
padding: 0 15px;
line-višina: 2,5; meja bottom: 1px solid # FFF;
}

Rezultate boste videli ...
null

Rešitev za to napako ... (spremenjene / dodane CSS s krepkim poševnim tiskom)

# Menu {
margin: 0; padding: 0; background: # FF9900; seznam-style-type: none; širina: 150px;
float: levo; / * ta vsebuje zraku spisek izdelkov, * /
}
# Meni li {
margin: 0; padding: 0;
float: left; / * Ta določa * /
širina: 100%; / * presledke napako v IE6 * /
}
# Menu {
Zaslon: blok; color: # 555555;
text-decoration: none;
padding: 0 15px;
line-višina: 2,5; meja bottom: 1px solid # FFF;
}

Če je zgoraj rešitev doesnot zdi, da dela (zaradi znanih le IE6) ... poskusite to metodo namesto

Dodajte to dodatna IE6 le sloge za vaše pribitkom ...

<! - [If lt IE 7>
<style type="text/css">
# Meni li {display: inline-block;}
# Meni li {display: block;}
</ Style>
<[Endif] ->


2008 6 junij 2008

Najboljše prakse: da je število elementov DOM Small

Več o DOM elemente na strani, počasneje pa postane, počasneje je DOM dostop v JavaScript-jev. Veliko število elementov DOM je lahko posledica slabega načrtovanja postavitev. Na primer, bi lahko ugnezdene tabele so bili uporabljeni za postavitev namene. Uporabite vse HTML Tag, kjer se je smiselno pomensko. Za npr. uporaba donot tabel za postavitev, vendar donot oklevajte in jih uporabiti, če imate za prikaz tabelarične podatke, zato bo uporabila zmanjšanje DOM elemente, v primerjavi s podobno strukturo ustvarjeno s DIVs samo ..

Če želite preizkusiti število elementov DOM v vašem HTML stran, samo vnesite naslednje v konzoli Firebug je: document.getElementsByTagName('*').length

Ni določeno standardno o tem, koliko DOM elementi so preveč. Preverite drugih podobnih strani, ki imajo dober markup.Eg. Yahoo! Domača stran je zelo zaposlen stran in še vedno pod 700 elementov (HTML tags).


2008 2. junij 2008

Najboljše prakse: Uporaba AJAX

Uporaba GET za zahteve AJAX

Ugotovljeno je bilo, da pri uporabi XMLHttpRequest, je POST izvajajo v brskalnikih kot dveh korakih: pošilja glave, potem pošilja podatke. Torej je najbolje, da uporabite GET, ki traja le en TCP paket za pošiljanje (razen če imate veliko piškotke). Največja URL dolžina v IE je 2K, tako da, če boste poslali več kot 2K podatkov morda ne boste mogli uporabljati GET.
Zanimivo je, da spremljajoči učinek PO, ne da bi dejansko objavo kakršne koli podatke, se vede kot GET. GET je namenjen za pridobivanje informacij, zato je smiselno (semantično) za uporabo dobili, ko ste samo zahteva podatke, v nasprotju s pošiljanjem podatkov, shranjenih strani strežnika.

Ne pride do sinhrone klicev AJAX

Pri izdelavi "Ajax" zahteve, lahko izbere bodisi async ali sinhronizacijo način. Async način vodi zahtevo v ozadju, medtem ko ostale dejavnosti brskalnik nadaljujejo z obdelavo. Sync način bo počakati na zahtevo, da se vrnejo, preden nadaljujete.
Zahteve, ki z načinom sinhronizacije se je treba izogibati. Te zahteve bo povzročilo brskalnik zaprl za uporabnika, dokler se ne zahteva vrnitve. V primerih, ko je strežnik zaseden in odziv traja nekaj časa, uporabnikov brskalnik (in morda OS) ne bo nič drugega storiti. V primerih, ko odgovor ni pravilno prejeli, lahko brskalnik še naprej blokirati, dokler se zahteva potekla.
Če menite, da je vaš položaj zahteva sinhronizacijo način, je najbolj verjetno čas, da se ponovno da vaš design. Zelo malo (če sploh) situacije dejansko zahtevajo Ajax zahteve v načinu sinhronizacijo.


NDK domov | Ki ga izraža | Izražanje Okus | Izražanje Penmenship | Izražanje Awe | Izražanje Sebe