piątek, 19 listopada 2010

Małe triki ;)

Jak szybko i łatwo przeszukać tablicę stringów na okoliczność istnienia pewnego stringa w JS? Wystarczy zrobić na niej join a następnie sprawdzić czy w powstałym stringu istnieje nasza wartość :)

if(mojaTablica.join("").indexOf("szukanyString") != -1){
alert("Sukces!");
}

Oczywiście nie zawsze się przyda, ale może akurat tym razem ;)

Druga sprawa: na szybko, dziś bawię się JS i Google Maps. Jeżeli chcemy z mapy, z miejsca, w którym właśnie kliknęliśmy wyciągnąć np. nazwę miasta okolicznego (w/g gmaps api v3 - typ administracyjny nr 3 :) ), piszemy:

google.maps.event.addListener(gMap.marker, "click", function(event) {
gMap.setInputs(event.latLng);
gMap.map.setCenter(event.latLng);
gMap.Circle.setCenter(event.latLng);
gMap.geo.geocode({
'location':event.latLng
},function(result,status){
$.each(result[0]["address_components"],function(i,val){
if(val["types"].join("").indexOf("administrative_area_level_3") != -1){
alert(val["long_name"]);
return;
}
});
});
});

Przykład oczywiście niepełny bo wyciągnięty z kontekstu mojego projektu, ale działa, a to najważniejsze :) Przy okazji skorzystałem z tipsa nr 1 :)

Trzeci temat to Firebug. Odkryłem go na nowo. Zwłaszcza, że udostępnia obiekt console, za pomocą którego możemy odwoływać się do konsoli błędów. I w ten oto sposób mamy możliwość prostego debugowania skryptów. Ale nie tylko JS! Drugą możliwością jest doinstalowanie FirePHP i debugujemy sobie również skrypty PHP. Zend udostępnia również klasę Zend_Log_Firebug, dzieki której raporty do Firebuga są proste jak budowa cepa:

Wariant z JS:


A podobny efekt otrzymamy pisząc np. w Zend tak:

$oLog = new Zend_Log(new Zend_Log_Writer_Firebug());
$oLog->log("Baaardzo ważne ;)", Zend_Log::INFO);

Proste jak budowa cepa, przecież mówiłem :)

0 komentarzy:

Prześlij komentarz