<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bartek Medoń - blog &#187; jQuery</title>
	<atom:link href="http://www.blog.bmedon.net/index.php/tag/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blog.bmedon.net</link>
	<description>Blog Bartka Medonia dotyczący informatyki, ale nie tylko...</description>
	<lastBuildDate>Tue, 20 Jul 2010 18:29:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Sprawdzenie zaznaczenia checkboxów</title>
		<link>http://www.blog.bmedon.net/index.php/javascript/sprawdzenie-zaznaczenia-checkboxow/</link>
		<comments>http://www.blog.bmedon.net/index.php/javascript/sprawdzenie-zaznaczenia-checkboxow/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 18:28:47 +0000</pubDate>
		<dc:creator>Bartek Medoń</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[porady]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[walidacja]]></category>

		<guid isPermaLink="false">http://www.blog.bmedon.net/?p=363</guid>
		<description><![CDATA[Kwestia walidacji różnego rodzaju formularzy z polami typu checkbox z wykorzystaniem JavaScript to niby sprawa bardzo prosta, ale dosyć często ktoś pyta mnie o rozwiązanie takiego &#8222;problemu&#8221;. Postanowiłem więc na prostym przykładzie pokazać jak zrobić taką walidację zarówno z wykorzystaniem czystego JavaScript jak i biblioteki jQuery. Zwrócę również uwagę na problem powstający w momencie &#8222;tablicowego&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Kwestia walidacji różnego rodzaju formularzy z polami typu checkbox z wykorzystaniem JavaScript to niby sprawa bardzo prosta, ale dosyć często ktoś pyta mnie o rozwiązanie takiego &#8222;problemu&#8221;. Postanowiłem więc na prostym przykładzie pokazać jak zrobić taką walidację zarówno z wykorzystaniem czystego JavaScript jak i biblioteki jQuery. Zwrócę również uwagę na problem powstający w momencie &#8222;tablicowego&#8221; nazewnictwa pól, dzięki któremu w przypadku pól checkbox po stronie PHP wygodnie przetwarzamy sobie przesłane dane.<span id="more-363"></span></p>
<h1 class='w_tresci'>JavaScript</h1>
<p>Ok przejdźmy do rzeczy, mamy jakiś banalny formularz z wyborem imion :</p>
<pre name='code' class='html'>
<form method="post" onSubmit="return walidacja(this);">
<input type="checkbox" name="imie"/>Maciej
<input type="checkbox" name="imie"/>Kazek
<input type="checkbox" name="imie"/>Czesio
<input type="checkbox" name="imie"/>Majka
<input type="checkbox" name="imie"/>Gabrysia
<input type="submit" value="dalej !"/>
</form>
</pre>
<p>Jak widać bezpośrednio pod znacznik FORM podpiąłem funkcję walidacji &#8211; nie jest to oczywiście najlepsze rozwiązanie, ale nie o to w tym przykładzie chodzi.</p>
<p>Nasza funkcja wygląda tak :</p>
<pre name='code' class='javascript'>
function walidacja(formularz)
{
	var ile = formularz.imie.length;
	var zaznaczono = false;
	for (var i=0; i < ile ; i++)
	{
		if(formularz.imie[i].checked == true)
		{
      			zaznaczono = true;
      			break;
		}
	}
	if(zaznaczono == false)
	{
    		alert('Proszę zaznaczyć przynajmniej jedną opcję !');
    		return false;
	}
	return true;
}
</pre>
<p>Jest ona bardzo prosta i nie ma sensu żeby tłumaczyć ją kawałek po kawałku. Problem pojawi się jednak kiedy nasze pola będą zamiast "imie" nazywać się "imie[]" - zapis ten jest bardzo często stosowany przez programistów PHP. W przypadku jQuery, którym za chwilę się zajmiemy sprawa jest prosta - wykorzystamy klasy dla pół checkbox, jednak dla czystego JS nie jest już tak różowo. Z tego względu rozwiązaniu tego problemu z wykorzystaniem raw js poświęcę osobny wpis - niebawem <img src='http://www.blog.bmedon.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h1 class='w_tresci'>jQuery</h1>
<p>jQuery to naprawdę poczciwy "wynalazek" pozwalający nam na łatwe "operowanie" JavaScriptem z zachowaniem wysokiej wydajności kodu. Rozwiązanie naszej walidacji pól checkbox w jQuery jest bardzo proste, a ponadto możemy w łatwy sposób uporać się z tablicowym nazewnictwem pól.</p>
<p>Mamy więc formularz :
</pre>
<pre name='code' class='html'>
<form method="post" id="f">
<input type="checkbox" class="imie" name="imie[]"/>Maciej
<input type="checkbox" class="imie" name="imie[]"/>Kazek
<input type="checkbox" class="imie" name="imie[]"/>Czesio
<input type="checkbox" class="imie" name="imie[]"/>Majka
<input type="checkbox" class="imie" name="imie[]"/>Gabrysia
<input type="submit" value="dalej !"/>
</form>
</pre>
<p>I oczywiście jQuery :</p>
<pre name='code' class='javascript'>
$(document).ready(
	function()
	{
		$("form#f").submit (
			function()
			{
        			if($('.imie').is(":checked") == false)
        			{
            				alert("Proszę wybrać przynajmniej jeden element !");
					return false;
        			}
				return true;
      			}
     		);
	}
);
</pre>
<p>Czyż to nie proste i wspaniałe <img src='http://www.blog.bmedon.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ? Problem nazewnictwa pól został rozwiązany dzięki wykorzystaniu dodatkowej klasy nadanej dla każdego z pół formularza.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.bmedon.net/index.php/javascript/sprawdzenie-zaznaczenia-checkboxow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zmieniające się okienka reklamowe</title>
		<link>http://www.blog.bmedon.net/index.php/javascript/zmieniajace-sie-okienka-reklamowe/</link>
		<comments>http://www.blog.bmedon.net/index.php/javascript/zmieniajace-sie-okienka-reklamowe/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 16:56:46 +0000</pubDate>
		<dc:creator>Bartek Medoń</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.blog.bmedon.net/?p=171</guid>
		<description><![CDATA[Zapewne wielu z Was kojarzy choćby stroną Wirtualnej Polski. Wchodząc na ów stronę widzimy mniej więcej na środku ekranu box reklamowy gdzie co parę sekund zmienia się element reklamowy czyli po prostu obrazy z odsyłaczami. Na pierwszą myśl wielu przychodzi na myśl technologia Flash jednak wystarczy kliknąć prawym przyciskiem myszy, aby przekonać się, że standardowe [...]]]></description>
			<content:encoded><![CDATA[<p>Zapewne wielu z Was kojarzy choćby stroną <a href="http://www.wp.pl/" title="wp.pl" target="_blank">Wirtualnej Polski</a>. Wchodząc na ów stronę widzimy mniej więcej na środku ekranu box reklamowy gdzie co parę sekund zmienia się element reklamowy czyli po prostu obrazy z odsyłaczami. Na pierwszą myśl wielu przychodzi na myśl technologia Flash jednak wystarczy kliknąć prawym przyciskiem myszy, aby przekonać się, że standardowe menu pliku swf się nie pokaże, a zamiast tego zwykłe menu podręczne przeglądarki. Wiadomo więc, że mamy do czynienia z użyciem języka JavaScript.<span id="more-171"></span></p>
<p>Skoro mamy do czynienia ze zmianą zawartości jakiegoś elementu bez przeładowania strony co kilka sekund to łatwo się domyślić, że używane jest do tego <a href="http://soundpage.info/kurs_javascript/kurs/26zdarz_czasowe.html" title="Zdarzenia czasowe w JavaScript" target="_blank">zdarzenie czasowe</a>. W JavaScript jest to oczywiście funkcja <strong>setTimeout</strong>.</p>
<p>Chciałbym tutaj przedstawić proste rozwiązanie jak taki skrypt wykonać czyli zmieniające się obrazki w raz z nawigowaniem po nich (łącza 1,2,3,4) jednak zanim to nastąpi przedstawię proste rozwiązanie gdzie po prostu 4 obrazki zmieniają się w czasie.</p>
<p>Tak więc mamy prosty kod CSS :</p>
<pre name="code" class="css">
div.okienko {
  width:560px;
  height:230px;
}
div.okienko IMG {
  border:0px;
}
</pre>
<p>Element o klasie okienko to oczywiście pewien kontener, w którym zmieniać będą się nasze obrazy. Zanim przedstawię kod JavaScript to taki oto kod powinien się znaleźć w kodzie strony :</p>
<pre name="code" class="html">
<div class="okienko">
 <a href="http://www.bmedon.net" id="zmienny_link" title="Zobacz stronę..." target="_blank"><img src="graficzki/1.jpg" alt="" name="zmienny_obrazek"/></a>
</div>
</pre>
<p>W folderze o nazwie graficzki powinny zostać umieszczone 4 pliki o nazwa 1.jpg, 2.jpg itd. Zauważ, że standardowo na starcie obraz w naszym kontenerze odnosi się do pierwszego z obrazów i pierwszego z odnośników. Popatrzmy więc na kod JavaScript :</p>
<pre name="code" class="javascript">
window.onload = okienka;
var obrazki = new Array("graficzki/1.jpg","graficzki/2.jpg","graficzki/3.jpg","graficzki/4.jpg");
var linki = new Array("http://www.bmedon.net","http://www.blog.bmedon.net","http://www.mp3-pobierz.pl","http://www.adamekvsgolota.pl");
var ile = obrazki.length;
var i = 0;
var ink = 0;
function okienka()
{
	if ( ile != null )
	{
		if(window.document.zmienny_obrazek)
		{
      		ink = i++;
			window.document.zmienny_obrazek.src = obrazki[ink];
			window.document.getElementById("zmienny_link").setAttribute("href",linki[ink]);
			if ( i > ile-1 )
			{
				i=0;
			}
		}
		setTimeout("okienka()",3500);
	}
}
</pre>
<p>Kod ten jest bardzo prosty, a wytłumaczenie bardzo podobnego przykładu znajdziesz w moim <a href="http://soundpage.info/kurs_javascript/kurs/24tablice_przyklad.html" title="Kurs JavaScript - zdarzenia czasowe - wyjaśnienie" target="_blank">kursie JavaScript</a>. Wszystko działa jak powinno jednak nie mamy paska nawigacja gdzie można by przełączać się między obrazkami zarówno wstecz jak i do przodu.</p>
<p>Tutaj sprawa troszkę się komplikuje ponieważ po każdym kliknięciu należałoby zmieniać odpowiednią zmienną, od której zależy jaki następny obrazek ma się wyświetlać. Niby proste, ale trzeba również zapanować nad zdarzeniem czasowym &#8211; nie można tak po prostu go &#8222;pozostawić&#8221;, bo nie skrypt nie będzie odpowiednio działał i w nieodpowiednich odstępach czasowych zmieniał reklamę po kliknięciu. Również przy nieodpowiednim nadzorze mogłoby dojść do pewnego zdublowania zdarzenia czasowego. Nie mniej popatrzmy na prawidłowego rozwiązanie.</p>
<p>Kod CSS :</p>
<pre name="code" class="css">
div.okienko {
  width:560px;
  /*height:230px;*/
  border:Solid 1px #ccc;
}
div.okienko IMG {
  border:0px;
}
div.nawigacja {
  background:#000;
  color:#fff;
  display:block;
  text-align:center;
}
div.nawigacja a {
  text-decoration:none;
  color:#fff;
  font-family:Tahoma;
  font-size:10pt;
  font-weight:bold;
  padding-left:3px;
  padding-right:3px;
}
div.nawigacja a:hover {
  background:#fff;
  color:#000;
}
.red {
  background:red;
}
</pre>
<p>Kod html :</p>
<pre name="code" class="html">
<div class="okienko">
 <a href="http://www.bmedon.net" id="zmienny_link" title="Wejdź na stronę !!" target="_blank"><img src="graficzki/1.jpg" alt="" name="zmienny_obrazek"/></a>
<div class="nawigacja">
    <a href="#" id="0" onClick="ustaw(0,1);">1</a>
    <a href="#" id="1" onClick="ustaw(1,1);">2</a>
    <a href="#" id="2" onClick="ustaw(2,1);">3</a>
    <a href="#" id="3" onClick="ustaw(3,1);">4</a>
  </div>
</div>
</pre>
<p>Jak widać podczas kliknięć w elementy nawigacyjne będziemy korzystać z funkcji ustaw. Jak wiesz korzystanie ze zdarzeń w ten sposób nie jest zgodne z DOM i porządnym programowaniem w JS. Chociaż uważam, że czasem można sobie na to pozwolić &#8211; mimo to jeszcze do tego wrócę.</p>
<p>Popatrzmy na zmodyfikowany znacznie kod JavaScript :</p>
<pre name="code" class="javascript">
window.onload = okienka;
var obrazki = new Array("graficzki/1.jpg","graficzki/2.jpg","graficzki/3.jpg","graficzki/4.jpg");
var linki = new Array("http://www.bmedon.net","http://www.blog.bmedon.net","http://www.mp3-pobierz.pl","http://www.adamekvsgolota.pl");
var ile = obrazki.length;
var i = 0;
var ink = 0;
var odliczanie;
function okienka()
{
	if ( ile != null )
	{
		if(window.document.zmienny_obrazek)
		{
      		ink = i++;
      		ustaw(ink,0);
			if ( i > ile-1 )
			{
				i=0;
			}
		}
		odliczanie = setTimeout("okienka()",3500);
	}
}
function ustaw(indeks,click)
{
	window.document.zmienny_obrazek.src = obrazki[indeks];
	window.document.getElementById("zmienny_link").setAttribute("href",linki[indeks]);
	for(var x=0;x&lt;4;x++)
	{
    	if (x == indeks)
    	{
      		window.document.getElementById(indeks).className = "red";
    	}
    	else
    	{
      		removeClass(window.document.getElementById(x),"red");
    	}
	}
	if (click == 1)
  	{
    	clearTimeout(odliczanie);
    	i = indeks;
    	okienka();
  	}
}
</pre>
<p>Dodatkowo skorzystamy z dwóch funkcji związanych z posiadaniem przez element danej klasy &#8211; funkcje to pochodzą z <a href="http://www.openjs.com/scripts/dom/class_manipulation.php" title="" target="_blank">tej strony</a> :</p>
<pre name="code" class="javascript">
function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}
</pre>
<p>I to wszystko <img src='http://www.blog.bmedon.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Kod nie jest jednak idealny i jak wspomniałem korzysta z przypisania zdarzeń do linków nawigacyjnych starą metodą. Niebawem przedstawię rozwiązanie zmodyfikowane, ulepszone o elementy takie jak :<br />
1). Kod JavaScript napisany obiektowo<br />
2). DOM&#8217;owe korzystanie ze zdarzeń<br />
3). Dodatkowe pole na obrazkach ładujące odpowiedni zmienny tekst</p>
<p>Jeśli ktoś miałby problemy ze zrozumieniem przedstawionego kodu, który trudny nie jest jednak wiadomo, że każdy z Nas kiedyś uczył się od zera to proszę napisać w komentarzu. Chętnie wszystko wyjaśnię od podstaw <img src='http://www.blog.bmedon.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I na koniec działanie omówionego przykładu można zobaczyć na stronie wspominanego <a href="http://soundpage.info/kurs_javascript/kurs/72okienka_reklamowe.html" title="Okienka Reklamowe w JavaScript" target="_blank">kursu języka JavaScript</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.bmedon.net/index.php/javascript/zmieniajace-sie-okienka-reklamowe/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Internet Explorer 6</title>
		<link>http://www.blog.bmedon.net/index.php/javascript/internet-explorer-6/</link>
		<comments>http://www.blog.bmedon.net/index.php/javascript/internet-explorer-6/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 14:34:03 +0000</pubDate>
		<dc:creator>Bartek Medoń</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Oprogramowanie]]></category>
		<category><![CDATA[Życie w sieci]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[przeglądarki]]></category>

		<guid isPermaLink="false">http://www.blog.bmedon.net/?p=140</guid>
		<description><![CDATA[W to niedzielne popołudnie postanowiłem troszkę pobuszować w sieci i zajrzałem na stronę ranking.pl i od razu się uśmiechnąłem. Dlaczego ? Jak zauważyć można archaiczna i przynosząca tylko same problemy Webmasterom i Internautą przeglądarka Microsoftu oznaczona numerkiem 6 utrzymuje wciąż tendencję spadkową i to na niezłym poziomie (ponad 11%). Jestem ogromnie zadowolony, że ludzie odchodzą [...]]]></description>
			<content:encoded><![CDATA[<p>W to niedzielne popołudnie postanowiłem troszkę pobuszować w sieci i zajrzałem na stronę <a href="http://ranking.pl/" title="rankingi..." target="_blank">ranking.pl</a> i od razu się uśmiechnąłem. Dlaczego ? Jak zauważyć można archaiczna i przynosząca tylko same problemy Webmasterom i Internautą przeglądarka Microsoftu oznaczona numerkiem 6 utrzymuje wciąż tendencję spadkową i to na niezłym poziomie (ponad 11%). Jestem ogromnie zadowolony, że ludzie odchodzą od &#8222;tego czegoś&#8221; i podążają w kierunku <a href="http://browsehappy.pl/" title="Zmień przeglądarkę na lepszą" target="_blank">nowoczesnych przeglądarek</a> lub instalują <a href="http://download.microsoft.com/download/2/0/C/20C9DC22-2E3E-4B3C-AC23-11C6A4E3E592/IE8-WindowsXP-x86-PLK.exe" title="Internet Explorer 8 PL">najnowszą wersje IE</a>.<span id="more-140"></span></p>
<p>Przeżytek jakim jest Internet Explorer 6 od dawien dawna sprawia sporo kłopotów głównie dwóm grupą Internautów :<br />
1). Webmasterzy &#8211; nie dzielmy już tutaj ich na programistów, projektantów itd. Każdy kto się zajmuje szeroko rozumianą Web Developerk&#8217;ą doskonale wie, że tworząc wszelkiego rodzaju strony, aplikacje Internetowe itd. w przeglądarce Microsoftu bardzo często coś nie działa mimo, że w najpopularniejszych innych śmiga bez zarzutu. Tyczy się to choćby JavaScriptu czy CSSa. W 7 i 8 wersji IE te problemy już nie są takie straszne, aczkolwiek to co się &#8222;wyrabia&#8221; w 6 to po prostu tragedyja <img src='http://www.blog.bmedon.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Trudno tutaj właściwie winić za to Microsoft &#8211; nie oszukujmy się to nie ich wina. Wina leży po stronie tych użytkowników komputera którzy nadal korzystają z IE 6 i to niestety jest tragedia. Jak pisze Piotr Potera <em>Gdyby przenieść tę sytuację do domowego ogniska i porównać z telewizją, to trochę tak, jakbyś trzymał w domu 35-letni telewizor</em> i jest to 100 procentowa racja. Przeglądarka, która ma swoje lata nie jest w stanie sobie poradzić z coraz to nowszymi trendami, technologiami itd. więc Webmasterzy mając na uwadze wysoki udział w rynku przeglądarek IE 6 muszą dwoić się i troić, aby pewne elementy w tym &#8222;cudzie&#8221; działały poprawnie.</p>
<p>2). Przeglądający sieć &#8211; tacy ludzie dziwią się, że coś w sieci im nie działa jak trzeba, narzekają na programistów, projektantów nie zdając sobie sprawy, że sami korzystają z bardzo starego oprogramowania. A wystarczy jak wspomniałem zaktualizować Internet Explorer lub wybrać inną przeglądarkę. Rozumiem, że bardzo wielu ludzi nie ma pojęcia za bardzo o komputerach, informatyce itd. wie tylko jak włączyć komputer uruchomić Internet (przeglądarkę) i tyle. Ci ludzie korzystają zazwyczaj z IE ponieważ jest on standardem w Windowsach więc nie ma się co dziwić. Zresztą jeśli ktoś chce proszę bardzo niech korzysta, ale z aktualnego oprogramowania !! Wykonanie takiej czynności jak update nie jest niczym trudnym &#8211; wystarczy umieć czytać i posługiwać się myszką czy klawiaturą. Ludzie powinni sobie zdawać z tego sprawę bo to tak jak gdyby ktoś ciągle pracował na Windows 98 i dziwił się, ze nie działają na nim najnowsze programy, gry czy nie jest obsługiwany tak jak trzeba (albo w ogóle) dany hardware. Dlatego użytkownicy Ci powinni aktualizować swoje przeglądarki podobnie jak robi się to z innym oprogramowaniem. Do tego zachęca od pewnego czasu serwis <a href="http://ie6.pl/" title="Zaktualizuj Internet Explorer do nowszej wersji" target="_blank">ie6.pl</a> i myślę, że to między innymi dzięki niemu i ludziom, którzy tą akcję wspierają pozycja IE 6 na rynku ciągle spada.</p>
<p>Każdy z Was do wspomnianej akcji może <a href="http://ie6.pl/join/" title="Pomóż pokonać IE 6" target="_blank">się przyłączyć</a>. Zamieścić można banner, button, link czy też specjalny kod, który w razie wykrycia iż korzystamy z IE 6 wyświetli stosowny komunikat. I tutaj chciałem też pokazać pewne alternatywne rozwiązanie do ostrzegania ludzi o korzystaniu z IE 6 &#8211; jest ono bardziej nazwijmy to radykalne ponieważ powoduje, że w przypadku wykrycia tejże przeglądarki pojawia się komunikat generalnie uniemożliwiający korzystanie ze strony. Spowodować to może, że potencjalny odwiedzający po prostu spraw brzydko mówiąc oleje i opuści stronę. Może też wyłączyć obsługę JavaScript i jak się potocznie mawia &#8222;po ptokach&#8221; <img src='http://www.blog.bmedon.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Nie mniej mamy taki oto kod css :</p>
<pre name="code" class="css">
#zakryj { display: none; position: absolute; height:100%; width:100%; background: #000; top: 0; left: 0; }
#zakryj[id] { position:fixed; }
#zakryj { text-align:center; }
#zakryj div {background:white; width:600px; height:200px; margin: 0 auto; margin-top:150px; border:Solid 1px white; overflow:hidden; padding:10px; }
#zakryj div a {text-decoration:none; color:#d80001; }
#zakryj div a:hover {text-decoration:underline; }
</pre>
<p>Div o id zakryj będzie pełnoekranowym czarnym elementem, które zakryje ekran w momencie wykrycia naszej &#8222;poczciwej&#8221; przeglądarki. W elemencie tym znajdzie się kolejny element div ze stosowną informacją.</p>
<p>Do wykrycia wersji przeglądarki posłużymy się tym razem JavaScriptem, a dokładnie biblioteką <a href="http://soundpage.info/kurs_javascript/kurs/brwsniff.js" title="Rozpoznawanie przeglądarki javaScript" target="_blank">brwsniff</a> &#8211; krótki opis jej działania w moim <a href="http://soundpage.info/kurs_javascript/kurs/07rozp_przegladarki2.html" title="Brwsniff - używanie" target="_blank">kursie JavaScript</a>. Skorzystamy również z <a href="http://jquery.com/" title="Pobierz jQuery" target="_blank">jQuery</a>. </p>
<p>Mamy więc plik script.js :</p>
<pre name="code" class="javascript">
$(document).ready
(
	function()
	{
		var przegladarka = getBrowser();
		var nazwa = przegladarka[0];
		var wersja = przegladarka[1];
		if ( (nazwa == "msie") &#038;&#038; (wersja == "6.0") )
		{
			$("#zakryj").css({opacity:0.95}).fadeIn("slow")
			.load("ie6.php");
			$("#zakryj").click(function(){$(this).fadeOut("fast")});
			return false;
		}
	}
);
</pre>
<p>Do odpowiedniego diva zostanie załadowana zawartość pliku ie6.php, w którym przykładowo może być :</p>
<pre name="code" class="html">
< ?php header("Content-type: text/html; charset=iso-8859-2"); ?>
<div>
<h3>Wykryto, że używasz Internet Explorer wersji 6.0 - WSTYD !!</h3>

Zainstaluj porządną przeglądarkę :
+ <a href="http://firefox.pl/" target="_blank">Mozillę Firefox</a>
+ <a href="http://operapl.net/" target="_blank">Operę</a>
+ <a href="http://www.microsoft.com/poland/windows/products/winfamily/ie/beta/default.mspx" target="_blank">Najnowszą wersję Internet Explorer</a>

<a href="http://browsehappy.pl" target="_blank"><img src="http://browsehappy.pl/468.png" alt="Nowoczesne przeglądarki" border="0"/></a>
</div>
</pre>
<p>I oczywiście trzeba pamiętać o umieszczeniu w naszym głównym pliku serwisu kodu :</p>
<pre name="code" class="html">
<div id="zakryj"></div>

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="brwsniff.js"></script>
<script type="text/javascript" src="script.js"></script>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.bmedon.net/index.php/javascript/internet-explorer-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
