<?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>WEB2.0 trükkök&#124;&#124;WEB2.0 tricks &#187; JavaScript</title>
	<atom:link href="http://web2.bitbaro.hu/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://web2.bitbaro.hu</link>
	<description>HTML, CSS, JavaScript, PHP, Flex, Aptana, Jaxer, Python, Joomla, Administration, Linux</description>
	<lastBuildDate>Sun, 31 Jan 2010 23:14:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>hu</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Multifunkciós webes fejlesztőkörnyezet telepítése</title>
		<link>http://web2.bitbaro.hu/2009/03/14/multifunkcios-webes-fejlesztokornyezet-telepitese/</link>
		<comments>http://web2.bitbaro.hu/2009/03/14/multifunkcios-webes-fejlesztokornyezet-telepitese/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 16:46:30 +0000</pubDate>
		<dc:creator>Wedge</dc:creator>
				<category><![CDATA[Fejlesztőkörnyezet]]></category>
		<category><![CDATA[Aptana]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PyDev]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://web2.bitbaro.hu/?p=49</guid>
		<description><![CDATA[Szerintem a legjobb webes fejlesztőkörnyezet WEB2.0 alkalmazások készítésére az Aptana. Támogatja a JavaScript fejlesztést mind kliens, mind szerver oldalon (Jaxer). Továbbá pluginek segítségével PHP és Rail támogatással is felruházható. Tartalmaz plugint Adobe Air alkalmazások, iPhone, Nokia Wrt fejlesztéshez. Ha pedig Flexes alkalmazásokat szeretnénk írni, akkor nincs jobb mint a Flex Builder. Pythonos fejlesztésekre ott a [...]]]></description>
			<content:encoded><![CDATA[<p>Szerintem a legjobb webes fejlesztőkörnyezet WEB2.0 alkalmazások készítésére az <a title="Aptana WEB2.0 IDE" href="http://www.aptana.com/" target="_blank">Aptana</a>. Támogatja a JavaScript fejlesztést mind kliens, mind szerver oldalon (Jaxer). Továbbá pluginek segítségével PHP és Rail támogatással is felruházható. Tartalmaz plugint Adobe Air alkalmazások, iPhone, Nokia Wrt fejlesztéshez. Ha pedig Flexes alkalmazásokat szeretnénk írni, akkor nincs jobb mint a <a href="http://www.adobe.com/products/flex/features/flex_builder/" target="_blank">Flex Builder</a>. Pythonos fejlesztésekre ott a <a href="http://pydev.sourceforge.net/" target="_blank">PyDev</a>.</p>
<p>Mivel mind a három Eclipse alapú, ezért könnyen telepíthetők egy rendszerbe. Ez a leírás a 3 rendszer közös telepítését írja le Windows rendszerre (Linuxos változat is érkezik hamarosan).</p>
<p><span id="more-49"></span></p>
<p>Az Eclipset teljesen felesleges feltelepíteni, ha nem akarunk Java-ban is fejleszteni. Mind az Aptana, mind a Flex Builder rendelkezik különálló (standalone) telepítővel és plugin telepítővel is. Nekem sikerült úgy is telepíteni, hogy az Aptana alá Flex Builder plugint installáltam, de sajnos utána a frissítések nem működtek, így maradt a másik irány.</p>
<h3>Flex Builder telepítése</h3>
<div class="level3">
<p>Az Adobe Flex Builder telepíthető külön programként (ami tartalmazza az<br />
Eclipse-t) és Eclipse pluginként is. Ebben a leírásban az előbbit fogom<br />
leírni.</p>
<ol>
<li class="level1"> Töltsük le a telepítőt: <a class="urlextern" title="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3email" rel="nofollow" href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3email">www.adobe.com/cfusion/entitlement/index.cfm</a> . A fájl elég nagy kb. 400MB</li>
<li class="level1"> Telepítsük:
<ol>
<li class="level2"> <strong>A telepítési könyvtár nevében nem lehet space karakter</strong>!!! Ez fontos a PyDev miatt!!! A könyvtár lehet mondjuk: C:\WORK\FlexBuilder3 (A Program Files nem jó).</li>
<li class="level2"> A telepítésnél, amikor a Flash Plugin 9-et kérdezi, ne legyen kipipálva semmi</li>
</ol>
</li>
<li class="level1"> Az első indításkor kér egy regisztrációs kulcsot. Lehet kérni az Adobe-tól próba kulcsot, ami 60 napig megy, meg lehet a neten találni kódgenerálót is, de erre nem buzdítok senkit, aki pénzt keres vele.</li>
</ol>
</div>
<p><!--{12370462930600}--></p>
<h3>Az Aptana telepítése a Flex Builder alá</h3>
<div class="level3">
<p>A Flex Builder alá a legújabb Aptana simán telepíthető.</p>
<ol>
<li class="level1"> A telepítéshez kövessük a köv. linken található leírást: <a class="urlextern" title="http://release.aptana.com/update/studio/3.2/index.html" rel="nofollow" href="http://release.aptana.com/update/studio/3.2/index.html">http://release.aptana.com/update/studio/3.2/index.html</a></li>
<li class="level1"> Újraindítás után mindenféle ablakot felhoz, többek között egy hibát is:
<ol>
<li class="level2"> A hibával ne foglalkozzunk, újraindítás után jó lesz</li>
<li class="level2"> Engedélyezzük a portok nyitását a tűzfalnak</li>
<li class="level2"> Az összes kis ablakot tüntessük el, kivéve a subversion telepítéséről szólót, de sehol ne engedjük neki újraindítani.</li>
<li class="level2"> Az Aptana alapból felajánlja a Subversion kliens<br />
telepítését. Engedjük a telepítést. Ennek a végén lehet engedni az<br />
újraindítást</li>
</ol>
</li>
<li class="level1"> Újraindítás után adjuk hozzá az Aptana perspective-t. (Jobbra a perspective kapcsolónál)</li>
<li class="level1">Telepíthetjük az Aptana plugin telepítőjével a PHP v. Rail plugint is.</li>
</ol>
</div>
<p><!--{12370462930601}--></p>
<h3>Python fejlesztő (PyDev) telepítése</h3>
<p>A PyDev egy nagyon jó Python fejlesztő környezet. Ha telepítjük a PyDev Extension plugineket is, akkor nyelvi ellenőrzést, kód analizálást is tartalmaz, azonban ezért fizetnünk kell.</p>
<div class="level3">
<ol>
<li class="level2">
<div class="li">A következő módon kell telepíteni, mint Eclipse plugin: <a class="urlextern" title="http://fabioz.com/pydev/manual_101_install.html" rel="nofollow" href="http://fabioz.com/pydev/manual_101_install.html">http://fabioz.com/pydev/manual_101_install.html</a> (Az optional dolgok nem kellenek)</div>
</li>
<li class="level2">
<div class="li">Window→Preferences→Interpreter -<br />
Python: Itt a New-ra kattintás után keressük meg a python.exe-t<br />
(c:\Python25\python.exe)! Ez beimportálja a használható fájlokat,<br />
objektumokat.</div>
</li>
</ol>
</div>
<div class="level3">Ha mindennel kész vagyunk, akkor egy nagyon jó fejlesztőkörnyezetet kapunk, ami a WEB2.0 minden területén</div>
<p><!--{12370462930602}--></p>
]]></content:encoded>
			<wfw:commentRss>http://web2.bitbaro.hu/2009/03/14/multifunkcios-webes-fejlesztokornyezet-telepitese/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript detektálás, ugrás ha nincs JS + W3C valid</title>
		<link>http://web2.bitbaro.hu/2009/03/10/javascript-detect/</link>
		<comments>http://web2.bitbaro.hu/2009/03/10/javascript-detect/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 09:57:55 +0000</pubDate>
		<dc:creator>Wedge</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://web2.bitbaro.hu/?p=13</guid>
		<description><![CDATA[Hogyan detektáljuk, hogy a JavaScript engedélyezve van-e a látogató böngészőjében úgy, hogy csak akkor irányítsuk át a felhasználót, ha nincs engedélyezve. Továbbá legyen böngészőfüggetlen a megoldás és a W3C validátor is tekintse szabványosnak.]]></description>
			<content:encoded><![CDATA[<p>Sok ember &#8211; félve vírustól, a böngésző hibáitól, reklámoktól&#8230; &#8211; egyszerűen kikapcsolja a böngészők JavaScript funkcióját. Ez a mai weboldalak ill. webalkalmazások szempontjából elég rossz szokás, mert ilyenkor teljesen működésképtelenné válhat. A felhasználónak meg nem minden esetben jut eszébe, hogy a kikapcsolt JavaScript az oka, hanem inkább az oldal készítőjét okolja. Erre ad megoldást az alábbi módszer. A felhasználót átirányíthatjuk egy statikus oldalra, ahol elmagyarázhatjuk neki, hogy miért is rossz kikapcsolni a JavaScriptet <img src='http://web2.bitbaro.hu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3>Amit el szeretnénk érni</h3>
<ul>
<li>Szeretnénk elérni, hogy a böngésző kikapcsolt JavaScript esetén ugorjon egy hibaoldalra vagy az oldal JavaScript nélküli statikus változatára.</li>
<li>Szeretnénk megtartani az XHTML kompatibilitást</li>
<li>Működjön minden elterjedt böngészőn (Mozilla Firefox, Internet Explorer 6-7-8, Opera, Safari, Google Chrome)</li>
</ul>
<p><span id="more-13"></span>Az itt közölt megoldást nem láttam még publikálva sehol, saját ötlet. Kicsit hackelős, de működik <img src='http://web2.bitbaro.hu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3>A megoldáshoz vezető út</h3>
<p>Ahhoz, hogy JS nélkül tudjunk ugrani az alábbi <em>meta</em> taget lehet használni:</p>
<pre class="xhtml" name="code">&lt;meta http-equiv="refresh" content="0; url=nojs.html" /&gt;</pre>
<p>A fenti sort a headerbe helyezve az oldal azonnal a<em> nojs.html</em>-re ugrik. Ha van JS, ha nincs.</p>
<p>Kézenfekvő lenne, hogy ha van JavaScriptünk, kitöröljük a DOM-ból a fenti sort és kész. De sajnos ez nem működik, mert a böngésző a meta tageket betöltéskor feldolgozza és hiába töröljük a taget, ő akkor is ugrik&#8230;</p>
<p>Másik kézenfekvő megoldás, hogy a fenti sort &lt;noscript&gt;&lt;/noscript&gt; tagek közé helyezzük. A baj ezzel csak az, hogy ez nem szerepelhet a szabvány szerint a headerben, amúgy működne (nem vagyok benne biztos, hogy minden böngészőben). De a feltételeinkben benne volt, hogy az XHTML szabványt be kell tartanunk (legalábbis a validátor szerint).</p>
<h3>A megoldás</h3>
<p>Először álljon itt a kód, később részletesen elmagyarázom:</p>
<pre class="xhtml" name="code">&lt;!-- *** Javascript Detect Hack *** --&gt;
&lt;script type="text/javascript"&gt;&lt;!--
document.write("&lt;\/script&gt;&lt;script&gt;/*");
//--&gt;&lt;/script&gt;
&lt;meta http-equiv="refresh" content="0; url=nojs.html" /&gt;
&lt;script type="text/javascript"&gt;/* */&lt;/script&gt;
&lt;!-- ********* End of hack ******** --&gt;</pre>
<p>A működése nagyvonalakban: Ha van JavaScript, akkor a <em>&lt;meta&gt;</em> tag előtti script rész kommentbe teszi a <em>&lt;meta&gt;</em> taget, vagyis nem fut le. Ha nincs, akkor ugrik.</p>
<p><strong>Soronként</strong> (a kezdő és a vég komment nélkül):</p>
<ol>
<li>A script blokk kezdete. Ha van JavaScript, akkor lefut. A &#8220;&lt;!&#8211;&#8221; HTML komment az elején azért kell, mert a script tartalmaz &#8220;&lt;&#8221;, &#8220;&gt;&#8221; jeleket, amit a validátor hibásnak jelezne, továbbá a &lt;script&gt;-et nem ismerő böngészők (vagy amikben ki van kapcsolva) így kihagyják ezt a részt.</li>
<li>Itt a dokumentumba beírjuk a &lt;script&gt; blokk lezárását, majd rögtön nyitunk is egy újat, amibe egy JS blokkomment nyitását is elhelyeztük. Ezzel kommentezzük ki a &lt;meta&gt;-t.</li>
<li>Ez zárja le a validátornak a &lt;script&gt; taget. Csak azért kell, hogy a validátor örüljön. Ha lefut a fenti kód, akkor ez kommentben lesz, tehát hatástalan.</li>
<li>Ez ugrik, ha nincs JS a <em>nojs.html</em>-re. A nojs.html bármilyen URL-re cserélhető. Ha van JS, akkor ez ugyanúgy a JS blokkomment része, tehát nem foglalkozik vele a böngésző.</li>
<li>Ez szintén a validátornak szóló rész. Ha van js, akkor a nyitó &lt;script&gt; tag a komment része, nincs hatása. A /* még mindig a kommentben van, ez is csak a validátor miatt van, ami azt hiszi, hogy egy új JS részben jár. Egészen a <em>*/</em>-ig tart a blokkomment.  A <em>&lt;/script&gt;</em> pedig lezárja a scriptből megnyitott scriptblokkunkat.</li>
</ol>
<p>A lényeg, hogy két szinten megy a dolog és mind a két szinten helyes. Az egyik, amikor van JavaScript és dinamikusan változtatjuk a kódot, a másik, amikor nincs, és eleve XHTML szabvány szerinti a kód.</p>
<h3> További probléma</h3>
<p>Sajnos van módszer arra, hogy a <em>meta refresh</em>-t is kikapcsolja a felhasználó. Abban az esetben a fenti kód nem működik. Szerencsére ez elég ritkán fordul elő, egy átlagos felhasználó nem tesz ilyet.</p>
<h3>Példa</h3>
<p>Az alábbi url-re tettem egy példát, ahol működés közben lehet megnézni a kódot: <a href="http://web2.bitbaro.hu/jshack/">http://web2.bitbaro.hu/jshack/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://web2.bitbaro.hu/2009/03/10/javascript-detect/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
