Trwa wielki wyścig wśród przeglądarek internetowych. Prym wiodą IE wraz z Firefoxem. Opera nie zamierza wcale łatwo się poddać. Ale oczywiście są pewne minusy takiego postępowania. Jakie? Wie na pewno o tym każdy webmaster.

Data dodania: 2007-12-01

Wyświetleń: 3852

Przedrukowań: 0

Głosy dodatnie: 0

Głosy ujemne: 0

WIEDZA

0 Ocena

Licencja: Creative Commons

Trwa wielki wyścig wśród przeglądarek internetowych. Prym wiodą IE wraz z Firefoxem. Opera nie zamierza wcale łatwo się poddać. Ale oczywiście są pewne minusy takiego postępowania. Jakie? Wie na pewno o tym każdy webmaster.

Czy strona internetowa może mieć inny wygląd pod IE oraz Firefox?
Oczywiście, że tak. Wystarczy stworzyć formularz i umieścić w nim pole tekstowe <input> i ustawić w nim za pomocą stylów minimalną lub maksymalną szerokość np:
<input type=text style="min-weight: 400px;" />
Pod Firefox takie pole będzie miało 400px, niestety nie pod IE. Dla IE można stosować tylko weight.
Daje to jednak pewny plus, jeśli chcemy, aby pod Firefoxem pole było mniejsze niż pod IE, robimy wtedy taki trick, który często sam stosuję:

<input type=text style="width:200px;min-weight:400px;"/>
IE bierze pod uwagę width, więc będzie to pole wyświetlane z szerokością 200px, natomiast firefox weźmie priorytet pola min-weight i ustawi szerkość na 400px.

Większym problemem staje się atrybut name i ich interpretacja pod przeglądarkami. Funkcja document.getElementsByName() bez problemu znajdzie każdy obiekt (tabele, spana, diva) o podanej nazwie ale tylko pod Firefox. IE po nazwie potrafi znaleźć tylko obiekty typu input. Co więcej Firefox dla takiego spana, którego po nazwie potrafi wyszukać, nie potrafi podać jego nazwy, a IE owszem potrafi !


Spróbuj zobaczyć dobitny przykład poprzez skopiowanie poniższego kodu i umieszczenie go na stronie, rezultaty porównaj na IE i Firefox a padniecie ze śmiechu:
<input type=text name=a value="input"/>
<span id="idspan" name=a>span</span><br/>
<script>
var obj = document.getElementsByName("a");
document.write("Obiektów a: "+obj.length+"<br/>");
document.write(" Span name: "+document.getElementById("idspan").name);
</script>
Licencja: Creative Commons
0 Ocena