Dynamiczne elementy DOM, które tworzą stronę i zmieniają się przy zastosowaniu AJAX’a można tworzyć na wiele sposób. Poniżej przedstawie trzy najczęściej przeze mnie używane i porównam je ze względu na wydajność. Testy zostały przeprowadzone na Firefox 3.0.3 na Ubuntu przy użyciu opcji Czas wykonania (ang. Profiler) z pluginu Firebug.

Przeczytaj także wpis Szybkie iteracje czyli przyspieszanie pętli oraz
Wydajne tworzenie elementów DOM C.D..

Na początek mamy link go, który będzie wywoływać każdą testowaną metodę. Metody wykonujemy jedna na raz i mierzymy czas wstawienia 1000 elementów listy li do ul od id list.


<a href="#" id="go">go</a>
<ul id="list"></ul>

1. Sposób

Wstawienie metodą insert elementów LI w pętli, które zostały stworzone przy pomocy silnika template z biblioteki Prototype.


$('go').observe('click',go1);
//Czas wykonania (2136.313ms, 84055 wywołań)
function go1(e){
	e.stop();
	$('list').update();
	var tpl = new Template ('<li class="#{class}" id="#{id}">#{id}</li>');
	$R(1, 1000).each(function(i){
		$('list').insert(tpl.evaluate({
			class: 'klasa',
			id: i
		}));
	})
}

Dom 1
Continue reading

Share

Test Acid3 ma na celu sprawdzenie przeglądarek pod kątem zgodności ze standardami internetowymi wyznaczanymi przez organizację W3C.
Test kładzie szczególny nacisk na Document Object Model i JavaScript, które są podstawowymi elementami strony związanymi z dynamicznymi aplikacjami internetowymi.

Poniżej prezentuje aktualne wyniki testu, przy czym maksimum czyli przejście testu wynosi 100 punktów:

  • IE 8 – 20pkt.
  • IE 8 Beta Win 7 – 21pkt.
  • IE 7 – 12pkt.
  • FF 2 – 54pkt.
  • FF 3.0.7 – 71pkt.
  • Chrome 1.0 – 79pkt.
  • Opera 9.63 – 85pkt.
  • Safari 4 Public Beta – 100pkt.

Continue reading

Share

Wyszukiwarka

będzie szukać po naszych kontaktach w Contails.com. Wymaga wcześniejszego zalogowania się do serwisu, ponieważ nasze kontakty są zabezpieczone hasłem i musimy mieć aktywną sesję z serwisem.

Wyszukiwarka Contails

Wyszukiwarka będzie obsługiwać sugestie w Firefoxie 2 i 3 oraz w IE8.
W IE7 będzie po prostu przekierowywać na wyniki wyszkiwania w Contails.
Continue reading

Share

O co chodzi?

W Javascript programowanie obiektowe może być zrealizowane przy pomocy różnych składni. Poniżej opiszę cztery sposoby podejścia do tematu.

Należy pamiętać, że w JS nie ma klas, tak jak w innych językach. Możemy symulować klasy przy pomocy funkcji, ale generalnie wszystko jest obiektem.

1. Funkcja

Definiujemy klasę, następnie przy pomocy słowa kluczowego new tworzymy obiekt z atrybutem color = Blue. Wywołanie metody paint powoduje przemalowanie auta na czerwony.


function Car1(color) {
	this.color = color;
	this.paint = function() {
		this.color = 'Red';
	};
}
var Car = new Car1('Blue');
Car.paint();

Continue reading

Share