2008 20 czerwca 2008

Biały Bug przestrzenią kosmiczną w zgodzie / Lista pozycji (li) w IE6

Jeśli kiedykolwiek dokonane (lub co jeden) pionowe menu przy użyciu elementów listy (li) tagi i CSS, jakie można napotkać, to kolejny błąd w przeglądarce Internet Explorer, gdzie IE 6 Wkładki te luki pomiędzy elementami list zawierających elementy poziomie bloków, w tzn. jeśli istnieje białe znaki między elementami listy w kodzie. Dzięki, ale nie dzięki, wersja IE 7 wydaje się wolny od tego błędu.
Jeśli tak jak ja i wiele innych, należysz do tej bandy sfrustrowanych twórców, którzy nadal muszą dostać swoje nowe układy, pracujące w IE6 też, to może okazać się przydatne. Zapraszamy do obejrzenia ...

Markup próbki:

<ul id="menu">
<li> <a href="#"> Strona główna </ a> </ li>
<li> <a href="#"> O </ a> </ li>
<li> <a href="#"> Usługi </ a> </ li>
<li> <a href="#"> Portfolio </ a> </ li>
<li> <a href="#"> FAQ </ a> </ li>
<li> <a href="#"> Kontakt z nami </ a> </ li>
</ Ul>

Możesz stworzyć jakiś CSS, podobny do tego poniżej, aby transfrom powyższy znaczników w pionowym menu ....

Przykładowy CSS ...
# Menu {
margin: 0; padding: 0; background: # FF9900;
list-style-type: none; width: 150px;
}
# Menu li {margin: 0; padding: 0;}
# Menu {display: block;
color: # 555555;
text-decoration: none;
padding: 0 15px;
line-height: 2,5; border-bottom: 1px solid # FFF;
}

Wyniki można zobaczyć ...
wartość null

Rozwiązanie dla tego błędu ... (zmodyfikowany / dodany CSS pogrubioną kursywą)

# Menu {
margin: 0; padding: 0; background: # FF9900; list-style-type: none; width: 150px;
float: left; / * to zawiera płynęły elementów listy * /
}
# Menu li {
margin: 0; padding: 0;
float: left; / * to poprawki * /
szerokość: 100%; / * błąd białe znaki w IE6 * /
}
# Menu {
display: block; color: # 555555;
text-decoration: none;
padding: 0 15px;
line-height: 2,5; border-bottom: 1px solid # FFF;
}

Jeśli powyższe doesnot rozwiązanie wydaje się działać (z powodów znanych tylko IE6) ... spróbować tej metody zamiast

Wystarczy dodać te dodatkowe IE6 tylko style do znaczników ...

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


2008 06 czerwca 2008

Dobre praktyki: Przechowywać Liczba elementów DOM Małe

Więcej elementów DOM na stronie, wolniej to świadczy, wolniejszy dostęp do DOM w JavaScript-tych. Duża liczba elementów DOM może być spowodowane złym projekt układu. Na przykład, zagnieżdżone tabele mogły być wykorzystywane do celów układu. Użyj dowolnego znacznika HTML, gdzie jest sens semantycznie. Np. dla tabel dawca stosowania dla układów, ale dawca wahaj się ich użyć, gdy masz do wyświetlania danych tabelarycznych, a więc będzie używać zmniejszyć elementów DOM, w porównaniu do podobnej strukturze utworzonej za pomocą DIV tylko ..

Aby sprawdzić liczbę elementów DOM w stronie HTML, wpisz następujące polecenie w konsoli: Firebug jest document.getElementsByTagName('*').length

Nie ma ustalonego standardu określającego, ile elementów DOM jest zbyt wiele. Sprawdź inne podobne strony, które mają dobrą markup.Eg. Strona główna Yahoo! jest dość zajęty strona i jeszcze w 700 elementy (tagi HTML).


2008 02 czerwca 2008

Dobre praktyki: Korzystanie z technologii AJAX

Użyj GET dla żądań AJAX

Stwierdzono, że przy użyciu XMLHttpRequest, POST jest zaimplementowana w przeglądarkach jako dwóch etapów: wysyłające nagłówki, potem wysyłania danych. Tak więc najlepiej jest użyć GET, która zajmuje tylko jeden pakiet TCP wysyła (chyba, że ​​masz dużo ciasteczek). Maksymalna długość adresu URL w IE jest 2K, więc jeśli wysyłasz więcej niż 2K danych może nie być w stanie używać GET.
Ciekawe afekt strona jest to, że POST bez rzeczywistego wysyłania jakichkolwiek danych zachowuje się jak GET. GET jest przeznaczona do pobierania informacji, więc ma to sens ust semantycznie) do korzystania z GET kiedy tylko o dane, w przeciwieństwie do przesyłania danych przechowywanych po stronie serwera.

Unikaj wywołań synchronicznych AJAX

Dokonując "ajax" żądań, można wybrać jedną lub asynchronicznie tryb synchronizacji. Asynchroniczny tryb kieruje wniosek w tle, podczas gdy inne działania przeglądarki może nadal przetwarzać. Sync tryb będzie czekać na żądanie powrotu przed kontynuowaniem.
Wnioski składane w trybie synchronizacji należy unikać. Wnioski te będą powodować przeglądarki, aby zamknąć dla użytkownika aż do powrotu żądania. W przypadkach, gdy serwer jest zajęty i odpowiedź zajmuje chwilę, przeglądarki użytkownika (a może OS) nie pozwoli na nic innego do zrobienia. W przypadkach, gdy odpowiedź nie jest prawidłowo odbierany, przeglądarka może nadal blokować do wniosku skończyła się.
Jeśli uważasz, że twoja sytuacja wymaga tryb synchronizacji, to najprawdopodobniej czas do przemyślenia swojego projektu. Bardzo niewiele (jeśli w ogóle) sytuacje rzeczywiście wymagają żądań AJAX w trybie synchronizacji.


NDK startowej | Wyrażając IT | Podniebienie Wyrażając | Penmenship Wyrażając | Awe Wyrażając | Wyrażając Myself