| 
 
Września 2009 
	
	
	
		
	| 
	
        Wpisał %s Jan Jackowicz-Korczyński	
		 | 
	 
		
		
			                       wtorek, 22 września 2009 06:46		
		                  				 Inne tematy 
						
						/												Inne						
		 | 
	 
	
		| 
				                                           
	Firma Google zamierza zindeksować materiały utworzone za pomocą usługi Google Dokumenty. Dotyczy to tekstów i arkuszy kalkulacyjnych i jest obłożone pewnym warunkiem: w wynikach wyszukiwania pojawią się wyłącznie materiały oznaczone jako publiczne i dodatkowo wskazane z poziomu strony WWW. 
	Dokumenty tworzone za pomocą usługi Google'a domyślnie mają ustawiony status "prywatny". W celu zezwolenia na zindeksowanie zawartości będzie trzeba wydać polecenie Udostępnij | Opublikuj jako stronę internetową. Takie publiczne dokumenty pojawią się w wynikach wyszukiwania Google'a w ciągu dwóch tygodni. 
	  
	Informacja cytowana za: (aru) .- HeiseOnLine                           Read more
                                                                              
		 | 
	 
	
	| 
		Zmieniony ( sobota, 26 lutego 2011 12:11 )	
	 | 
 
	
	         	
	 		 
		 | 
	 
		
				
				
 
Poniedziałek 21 września 2009	
				 | 
				 
 
	
	
	
		
	| 
	
        Wpisał %s Patryk yarpo Jar	
		 | 
	 
		
		
			                       poniedziałek, 21 września 2009 21:24		
		                  				 Java Script 
						
						/												Artykuły JS						
		 | 
	 
	
		| 
				                                           Bardzo częstym jest wywołanie jakiejś funkcji JS po konkretnej akcji – np. kliknięciu. Często się także zdarza, że po kliknięciu na link, który jest stworzony tylko po to, aby wywołać tę funkcję. Najczęstszą konstrukcją z jaką się spotykam jest: 
 
{codecitation} <a href="#" onclick="skrypt()">Wywołaj</a> {/codecitation}  
 
No i takie coś działa. Jednak warto zauważyć, że nie wygląda zbyt ładnie. Po za tym, użytkownik nie widzi tak naprawdę co się stanie po kliknięciu, gdyż w pasku statusu zobaczy jedynie „#”. (fakt jeśli zobaczy odwołanie do funkcji także, bez zaglądnięcia w kod, niewiele będzie wiedział, ale zawsze coś... :P ). 
 
Można to zmienić, a oto sposób: 
 
{codecitation} <a href="javascript:skrypt();">Wywołaj</a> {/codecitation} 
 
Działanie takiego wywołania będzie identyczne. A nawet lepsze – nie każdy link musi być wywołany na kliknięcie – niektórzy używają klawiatury... Jednak, aby być pewnym, że skrypt się wykona, a nam na ekranie nie pokaże się nic niepożądanego, warto użyć funkcji void(): 
 
{codecitation} <a href="javascript:void(skrypt());">Wywołaj</a> {/codecitation}  
 
Teraz już wszystko będzie ładnie pięknie :). 
 
Aha, zapomniałbym. W atrybucie href znacznika a, nie może być spacji. Jeśli wywołujesz funkcję, która wymaga tego – np: 
 
{codecitation} <a href="javascript:void(skrypt(new jakas_klasa));">Wywołaj</a> {/codecitation}  
 
To zamiast spacji " ", wstaw: "%20". W żaden sposób nie wpłynie to na działanie skryptu, a walidator nie będzie krzyczał.                           Read more
                                                                              
		 | 
	 
	
	         	
	 		 
		 | 
	 
	
	
	
		
	| 
	
        Wpisał %s Patryk yarpo Jar	
		 | 
	 
		
		
			                       poniedziałek, 21 września 2009 21:23		
		                  				 Java Script 
						
						/												Artykuły JS						
		 | 
	 
	
		| 
				                                           Jeśli kiedyś myślałeś o tym, jakby tu załadować jakiś skrypt „po drodze”, zamiast ładować go od razu, to na pewno ta porada ci się przyda. 
Pokażę, w jaki sposób załadować skrypt JS znajdujący się w osobnym pliku dynamicznie, to znaczy – w trakcie surfowania po stronie, bez jej przeładowania. Niech przemówi kod: 
{codecitation class='brush: js'} <script type="text/javascript"> 
// <!-- <![CDATA[  
function zaladuj_skrypt(plik) { 
    var nowySkrypt = document.createElement("script"); 
    nowySkrypt.setAttribute("type", "text/javascript"); 
    nowySkrypt.setAttribute("src", plik + ".js"); 
  
    document.getElementsByTagName("head")[0].appendChild(nowySkrypt); 
} 
// --> ]]></script>{/codecitation}  
Co więc po kolei tu robię? Stworzyłem małą funkcję void zaladuj_skrypt(string plik), która pozwala na dynamiczne dodawanie skryptów. Wywołuje się ją w taki sposób: 
{codecitation  class='brush: html'}<p> 
    <a href="javascript:void(zaladuj_skrypt('jeden'))">Jeden</a> :: 
    <a href="javascript:void(zaladuj_skrypt('dwa'))">Dwa</a> 
</p>{/codecitation}  
 
Funkcja ta przyjmuje jako parametr nazwę skryptu JS [bez rozszerzenie, to zostaje automatycznie dodane w funkcji]. 
 
Warto byłoby także zapoznać się z: 
    - developer.mozilla.org/pl/docs/DOM:element.appendChild
 
    - developer.mozilla.org/pl/docs/DOM:document.createElement
 
    - w3schools.com/dom/met_document_createelement.asp
 
    - w3schools.com/dom/met_element_setattribute.asp
 
    - developer.mozilla.org/pl/docs/DOM:element.setAttribute
 
 
 
                            Read more
                                                                              
		 | 
	 
	
	| 
		Zmieniony ( czwartek, 29 kwietnia 2010 14:45 )	
	 | 
 
	
	         	
	 		 
		 | 
	 
	
	
	
		
	| 
	
        Wpisał %s Patryk yarpo Jar	
		 | 
	 
		
		
			                       poniedziałek, 21 września 2009 21:20		
		                  				 Java Script 
						
						/												Artykuły JS						
		 | 
	 
	
		| 
				                                           JSON, to nie tyle technologia czy nowy język co inne spojrzenie na to co już istnieje. Być może nawet samo odkodowanie tego skrótu da już nam dużo więcej informacji: "Java Script Object Notation", czyli format wymiany danych, podobnie jak XML. Jednak XML (eXtensible Markup Language) ma w porównaniu z JSONem [wymawiane jak angielskie imię "dżejson"] jeden minus – do jego wykorzystania w projektach webmasterkich najczęściej potrzebujemy dodatkowych klas i obiektów (o czym więcej w poradzie klasa ObjTree). 
JSON w JS może być szybko przetworzony w JS za pomocą funkcji eval(). Może zatem przykład danych: 
(najpierw – trochę bardziej zrozumiałe, dla webmastera, dane w formacie XML): 
{codecitation}  
<?xml version="1.0" encoding="utf-8"?> 
    <dane> 
        <user> 
            <imie>jan</imie> 
            <nazwisko>Kowalski</nazwisko> 
        </user> 
        <user> 
            <imie>Piotr</imie> 
            <nazwisko>Nowak</nazwisko> 
        </user> 
    </dane> {/codecitation}  
 
W JSON dane takie wyglądały następująco: 
{codecitation}  
{ 
    "dane" : { 
        "user" : [ 
            { 
            "imie" : "Jan", 
            "nazwisko" : "Kowalski" 
            }, 
            {  
            "imie" : "Piotr", 
            "nazwisko" : "Nowak" 
            } 
        ] 
    } 
} {/codecitation}  
 
Przyjmijmy, że stosując AJAX takie dane otrzymujemy jako wynik działania skryptu na serwerze. W przypadku XML pewnie skorzystamy z metody responseXML() i następnie będziemy się bawić z odpowiednim pobieraniem danych – dla początkujące moze to być naprawdę niezbyt przyjemne (jeśli się korzysta z gołego obiektu XMLHttpRequest). W przypadku JSONa, polecałbym coś takiego: 
{codecitation}  
/*     Stworzenie obiektu XMLHttpRequest  
    wysłanie odpowiednich danych na serwer i uzykanie odpowiedzi: 
*/ 
    var json_tekst = HTTPrequest.responseText; // uzyskuje dane w postaci ciągu znaków  
    eval("var json_obiekt = ("+json_tekst+")"); 
 
    for (i=0; i<json_obiekt.dane.user.length; i++) 
        alert(    json_obiekt.dane.user[i].imie + ' ' + 
                 json_obiekt.dane.user[i].nazwisko        );  {/codecitation}  
Oczywiście to tylko drobna część możliwości JSONa. Warto jednak o nim pamiętać, jeśli przyjdzie nam robić cokolwiek z danymi otrzymywanymi z serwera [niekoniecznie naszego, coraz częściej potrzebujemy danych z „obcych” serwerów]. 
Warto byłoby także zapoznać się z: 
    - pl.wikipedia.org/wiki/JSON
 
    - json.com
 
    - anakin.us/blog/advancedajax-112-ajax-json/
 
                           Read more
                                                                              
		 | 
	 
	
	         	
	 		 
		 | 
	 
	
	
	
		
	| 
	
        Wpisał %s Patryk yarpo Jar	
		 | 
	 
		
		
			                       poniedziałek, 21 września 2009 21:18		
		                  				 Java Script 
						
						/												Artykuły JS						
		 | 
	 
	
		| 
				                                           Na wielu stronach występuje coś, co mi osobiście kojarzy się z zakładkami. Niedawno na forum, ktoś zapytał jak to zrobić i wymyśliłem bardzo prosty – chyba najprostszy możliwy – sposób na to. 
Pomyślałem więc, że się podzielę :) 
Oto kod (przykład): 
{codecitation}<html> 
<head> 
<script type="text/javascript">  
// <![CDATA[  
function pokaz_ukryj(pokaz, ukryj) {  
    document.getElementById(pokaz).style.display = "block";  
    document.getElementById(ukryj).style.display = "none"; 
} 
//]] 
</script>  
</head> 
<body>  
<p> 
    <a href="javascript:void(pokaz_ukryj('tabela1', 'tabela2'))">Pokaż 1</a>: ||  
    <a href="javascript:void(pokaz_ukryj('tabela2', 'tabela1'))">Pokaż 2</a>: 
</p>  
<table id="tabela1" style="background: red; width: 200px;">  
    <tr>  
       <td>To jest pierwsza tabela</td>  
    </tr>  
</table>  
<table id="tabela2"style="background: green; width: 200px; display:none">  
    <tr>  
        <td>To jest druga tabela</td>  
    </tr>  
</table>  
</body>  
</html>{/codecitation} 
No i co ten kod robi? Mam dwie tabele, z czego jedną ukrywam, za pomocą CSS [display: none]. Dodatkowo tworzę dwa linki, które wywołują funkcję pokaz_ukryj() przyjmującą dwa parametry: 
    - string pokaz będący nazwą id tabeli, która ma być pokazana
 
    - string ukryj, będący nazwą id tabeli, która ma być ukryta
 
 
Oczywiście w przypadku rozrostu naszej strony i konieczności wprowadzenia dodatkowych „zakładek” zaczynają się schody. Ale Zawsze można zrobić sobie jakąś tablicę z nazwami id tabel, następnie do funkcji przesyłać numer indeksu tabeli, która ma być widoczna, a pozostałe – za pomocą pętli – pochować. proste i logiczne. Życzę przyjemnej pracy z kodem :)                           Read more
                                                                              
		 | 
	 
	
	         	
	 		 
		 | 
	 
	
	
	
		
	| 
	
        Wpisał %s Patryk yarpo Jar	
		 | 
	 
		
		
			                       poniedziałek, 21 września 2009 21:08		
		                  				 Java Script 
						
						/												Artykuły JS						
		 | 
	 
	
		| 
				                                           Z pewnością nie raz używałeś instrukcji warunkowej if. Niekoniecznie musiałeś programować w JS, aby się z warunkami. Często warunki w programie stanowią największą część kodu. Czy muszą zajmować aż tyle miejsca? Nie... 
 
Normalny if wygląda tak: 
 
{codecitation} if (warunek) { 
    // wykonaj 
} else { 
    // wykonaj co innego 
} {/codecitation}  
 
Jeśli to, co ma zostać wykonane ma jedynie jedną linię kodu, np: 
 
{codecitation} if (i>0) { 
    i--; 
} else { 
     i++; 
} {/codecitation}  
 
Można to zapisać krócej: 
 
{codecitation} if (i>0) i--; 
else i++; {/codecitation}  
 
Jeśli opuścimy klamry, to zostanie wykonany kod do pierwszego średnika, jako kod warunkowy. Reszta zostanie wykonana liniowo. Czyli jeśli masz: 
 
if (i>0) { 
    i--; 
    inna_zmienna = 4; 
} else { 
     i++; 
    inna_zmienna = 7; 
} 
 
I opuścisz klamry, to w przypadku, gdy i> 0 zostanie wykonane: 
    - i--
 
    - inna_zmienna = 4
 
    - inna_zmienna = 7
 
 
 
Tak więc pamiętaj: 
    - zawsze używaj klamer
 
    - jeśli zdecydujesz się z powodów "oszczędności czasu" z nich zrezygnować, zawsze bardzo uważnie stawiaj wcięcia
 
 
 
Jednak nie o tym miała być ta porada :) Miałem zamiar pokazać, rzeczywistą możliwość skrócenia kodu, oto i ona: 
 
{codecitation} (i>0) ? i-- : i++; {/codecitation} 
 
Jest równoznaczne pierwszemu listingowi. W takim zapisie nie można używać więcej niż jednej instrukcji. Czyli nie można napisać i--; inna_zmienna=4; 
 
Więc po co to? 
 
Bardzo ułatwia to życie, i kod, kiedy masz krótką funkcję, np. min: 
{codecitation}function min(a, b) { 
    if (a>=b) { 
        return b; 
    } else { 
        return a; 
    } 
}{/codecitation} 
 
Jaka ta funkcja dluuuuga! Fuj! A można ładnie i szybko: 
{codecitation} function min(a, b) { 
    return (a>=b) ? b : a; 
} {/codecitation} 
 
Przekonałem, czy jeszcze nie? To może coś takiego: 
{codecitation} 
a = (user=="Kasia") ? "Witaj Kasiu" : "Nie znam Cię!"; 
alert(a);{/codecitation} 
 
lub nawet krótsze: 
{codecitation} alert((user=="Kasia") ? "Witaj Kasiu" : "Nie znam Cię!"); {/codecitation} 
 
Jest wiele możliwości wykorzystania tego skrótu. Polecam po eksperymentować :) 
Bądź jednak czujy. Zbyt uproszczony kod czasem staje się mniej czytelny - lepiej jest napisać dłuższy kod, ale łatwiejszy do zrozumienia niż krótki i nieczytelny meisterstück kompresji. 
                            Read more
                                                                              
		 | 
	 
	
	         	
	 		 
		 | 
	 
	
	
	
		
	| 
	
        Wpisał %s Patryk yarpo Jar	
		 | 
	 
		
		
			                       poniedziałek, 21 września 2009 21:06		
		                  				 Java Script 
						
						/												Artykuły JS						
		 | 
	 
	
		| 
				                                           Dawniej, aby odwołać się do pewnego elementu na stronie [najczęściej formularza] używano tego typu konstrukcji: 
 
{codecitation} document.nazwa_formularza.(...) {/codecitation}  
 
A sam formularz wyglądał tak: 
 
{codecitation} <form name="nazwa_formularza" action="#"> {/codecitation}  
 
Jeśli jednak ktoś kiedyś próbował tak zrobić stronę i sprawdził jej poprawność, to niestety walidator krzyczał, że tak należy robić. Więc jak!? 
 
Oto rozwiązanie: 
 
{codecitation} document.forms[0].elements[2].value; {/codecitation}  
 
Odwoływać się do formularza za pomocą tablicy. Indeks tablicy odpowiada numerowi formularza na stronie [liczone od 0]. 
 
Niestety, czasem zdarza się, że nie wiesz jaki ostatecznie będzie numer formularza na stronie – np. Jeśli na górze strony jest formularz do logowania, to gdy użytkownik się zaloguje formularz znika i całe nasze numerowanie szlag trafia! Więc jak to obejść?! 
 
Oto rozwiązanie: 
 
{codecitation} var formularz = getElementById("form1");  
var pole_formularza = formularz.pole1.value; {/codecitation}  
 
I tym sposobem obeszliśmy niewygodne przeszkody. A kod HTML wyglądać będzie następująco: 
 
{codecitation} <form id="form1" action="skrypt.php" method="post"> {/codecitation}  
 
Zauważ, że dzięki takiemu zabiegowi możemy także odnosić się do tego id za pomocą CSS.                           Read more
                                                                              
		 | 
	 
	
	         	
	 		 
		 | 
	 
	
	
	
		
	| 
	
        Wpisał %s Patryk yarpo Jar	
		 | 
	 
		
		
			                       poniedziałek, 21 września 2009 20:58		
		                  				 Java Script 
						
						/												Artykuły JS						
		 | 
	 
	
		| 
				                                           Czasem zdarza się, że chcemy aby po wejściu na jakąś stronę internauta został automatycznie przekierowany gdzie indziej. Oto jedno z wielu rozwiązań: 
{codecitation} <html> 
<head> 
<script type="text/javascript"> 
 
window.onload = function() { 
 
   window.location = 'http://adres.pl'; 
 
} 
</script> 
</head> 
<body></body> 
</html> 
 {/codecitation} 
Adres nie musi wcale odnosić się do innej strony w sieci, może to być np.: 
{codecitation} window.location = 'jakas_podstrona/na_tym/serwisie.htm'; {/codecitation} 
Nie musi być to także wywoływane na zdarzenie onload. Można użyć tego w zwykłej funkcji lub przypisać do zdarzenia onclick itp.                           Read more
                                                                              
		 | 
	 
	
	         	
	 		 
		 | 
	 
	
	
	
		
	| 
	
        Wpisał %s Patryk yarpo Jar	
		 | 
	 
		
		
			                       poniedziałek, 21 września 2009 20:56		
		                  				 Java Script 
						
						/												Artykuły JS						
		 | 
	 
	
		| 
				                                           Choć za język programowania uznaje się powszechnie angielski, wcale nie znaczy to, że nie można wyświetlać na stronie informacji w dowolnym języku, np. po polsku. 
{codecitation} <html> 
<head> 
<script type="text/javascript"> 
function getDateStr(){  
    var DayName = ['niedziela', 'poniedzialek', 'wtorek', 'środa', 'czwartek', 'piątek', 'sobota']; 
    var MonthName = ["stycznia ", "lutego ", "marca ", "kwietnia ", "maja ", "czerwca ", "lipca ", "sierpnia ", "września ", "października ", "listopada ", "grudnia "]; 
 
    var Today = new Date(); 
    var WeekDay = Today.getDay(); 
    var Month = Today.getMonth(); 
    var Day = Today.getDate(); 
    var Year = Today.getFullYear(); 
 
    if(Year <= 99) {  
        Year += 1900; 
    }     
 
    return DayName[WeekDay] + "," + " " + Day + " " + MonthName[Month] + ", " + Year + " r."; 
} 
</script> 
</head> 
<body> 
 <script type="text/javascript">document.write("Dzisiaj jest " + getDateStr())</script> 
</body> 
</html> {/codecitation} 
Wyświetli to, np. (dla 21 września 2009 r.): 
Dzisiaj jest poniedzialek, 21 września , 2009r.                           Read more
                                                                              
		 | 
	 
	
	         	
	 		 
		 | 
	 
	
	
	
		
	| 
	
        Wpisał %s Patryk yarpo Jar	
		 | 
	 
		
		
			                       poniedziałek, 21 września 2009 20:45		
		                  				 Java Script 
						
						/												Artykuły JS						
		 | 
	 
	
		| 
				                                           Mimo, że językiem programowania jest język angielski, to wcale nie oznacza, że nie można wyświetlać informacji w dowolnym języku. Starczy tylko odpowiednio zinterpretować dane: 
{codecitation class='brush: php'} <html> 
<head> 
<script type="text/javascript"> 
function getDateStr(){  
    var DayName = ['niedziela', 'poniedzialek', 'wtorek', 'środa', 'czwartek', 'piątek', 'sobota']; 
    var MonthName = ["stycznia ", "lutego ", "marca ", "kwietnia ", "maja ", "czerwca ", "lipca ", "sierpnia ", "września ", "października ", "listopada ", "grudnia "]; 
  
    var Today = new Date(); 
    var WeekDay = Today.getDay(); 
    var Month = Today.getMonth(); 
    var Day = Today.getDate(); 
    var Year = Today.getFullYear(); 
  
    if(Year <= 99) {  
        Year += 1900; 
    }     
  
    return DayName[WeekDay] + "," + " " + Day + " " + MonthName[Month] + ", " + Year + " r."; 
} 
</script> 
</head> 
<body> 
   <script type="text/javascript">document.write("Dzisiaj jest " + getDateStr())</script> 
</body> 
</html> {/codecitation} 
  
Taki kod zwróc np. (dla 21 IX 09 r.): 
Dzisiaj jest poniedzialek, 21 września , 2009r.                           Read more
                                                                              
		 | 
	 
	
	| 
		Zmieniony ( poniedziałek, 26 kwietnia 2010 21:45 )	
	 | 
 
	
	         	
	 		 
		 | 
	 
 
 
  
Strona 5 z 13 
<< Początek < Poprzednia 1 2 3 4 5 6 7 8 9 10 Następna > Ostatnie >>
                            
                        
                                            
                                        
                
            
         
    
    
                 |