<?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>BOHUCO &#187; javascript</title>
	<atom:link href="http://bohuco.net/blog/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://bohuco.net/blog</link>
	<description>Die Sollbruchstelle im Internet</description>
	<lastBuildDate>Mon, 06 Sep 2010 07:50:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HTML5 WebSockets Example</title>
		<link>http://bohuco.net/blog/2010/07/html5-websockets-example/</link>
		<comments>http://bohuco.net/blog/2010/07/html5-websockets-example/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 18:07:59 +0000</pubDate>
		<dc:creator>DerFichtl</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web Entwicklung]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Websockets]]></category>

		<guid isPermaLink="false">http://bohuco.net/blog/?p=1445</guid>
		<description><![CDATA[

var dzone_url = 'http://bohuco.net/blog/2010/07/html5-websockets-example/';
var dzone_title = 'HTML5 WebSockets Example';
var dzone_blurb = '';
var dzone_style = '1';




HTML5 WebSockets makes it possible to open a persistent connection to a server within a web-browser via javascript.


    UPDATE: Mastering the new Spec-76 WebSockets handshake with PHP.

Websockets works already in the latest Webkit-browsers like Safari 5 and Chrome [...]]]></description>
			<content:encoded><![CDATA[<div class="dzone_button" style="float: right; margin-left: 10px;">
<script type="text/javascript">
var dzone_url = 'http://bohuco.net/blog/2010/07/html5-websockets-example/';
var dzone_title = 'HTML5 WebSockets Example';
var dzone_blurb = '';
var dzone_style = '1';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fbohuco.net%252Fblog%252F2010%252F07%252Fhtml5-websockets-example%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2F9YNo7l%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22HTML5%20WebSockets%20Example%22%20%7D);"></div>
<p>HTML5 WebSockets makes it possible to open a persistent connection to a server within a web-browser via javascript.</p>
<p><span id="more-1445"></span></p>
<p style="font-weight:bold; border-top:1px dashed black; padding:20px; margin:40px 20px; border-bottom:1px dashed black;">
    UPDATE: Mastering the new <a href="http://bohuco.net/blog/2010/07/html5-websockets-example/">Spec-76 WebSockets handshake with PHP</a>.
</p>
<p>Websockets works already in the latest Webkit-browsers like Safari 5 and Chrome 5. Firefox 4 Beta 1 knows the Websocket-Object but it can&#8217;t open the connection :(</p>
<p>My <a href="http://bohuco.net/dev/websocket/">Websocket test script</a> sends the current mouse position via socket connection to the server and then receives all positions of all current open sockets and prints them to the browser-window. In other words, you can see the mouse cursors of the other users on the page.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> socket<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> host <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;ws://84.38.67.247:8080/dev/websocket/server.php&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
		socket <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> WebSocket<span style="color: #009900;">&#40;</span>host<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		socket.<span style="color: #660066;">onopen</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>msg<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
		socket.<span style="color: #660066;">onmessage</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>msg<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">eval</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'var data = '</span> <span style="color: #339933;">+</span> msg.<span style="color: #660066;">data</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">';'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span>userId <span style="color: #000066; font-weight: bold;">in</span> data<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#91;</span>userId<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #003366; font-weight: bold;">var</span> pos <span style="color: #339933;">=</span> data<span style="color: #009900;">&#91;</span>userId<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">position</span>.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">','</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #003366; font-weight: bold;">var</span> color <span style="color: #339933;">=</span> data<span style="color: #009900;">&#91;</span>userId<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">color</span><span style="color: #339933;">;</span>
					render<span style="color: #009900;">&#40;</span>userId<span style="color: #339933;">,</span> pos<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> pos<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> color<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
			dump<span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
		socket.<span style="color: #660066;">onclose</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>msg<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>ex<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> console.<span style="color: #660066;">log</span><span style="color: #009900;">&#40;</span>ex<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'mousemove'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>evt<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		send<span style="color: #009900;">&#40;</span>evt.<span style="color: #660066;">clientX</span><span style="color: #339933;">,</span> evt.<span style="color: #660066;">clientY</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> render<span style="color: #009900;">&#40;</span>u<span style="color: #339933;">,</span> x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> c<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#'</span><span style="color: #339933;">+</span>u<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">length</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'
&nbsp;
&nbsp;
'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">appendTo</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#'</span><span style="color: #339933;">+</span>u<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'left'</span><span style="color: #339933;">,</span> x<span style="color: #339933;">+</span><span style="color: #3366CC;">'px'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#'</span><span style="color: #339933;">+</span>u<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'top'</span><span style="color: #339933;">,</span> y<span style="color: #339933;">+</span><span style="color: #3366CC;">'px'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#'</span><span style="color: #339933;">+</span>u<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background'</span><span style="color: #339933;">,</span> c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> send<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span>y<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> msg <span style="color: #339933;">=</span> x <span style="color: #339933;">+</span> <span style="color: #3366CC;">','</span> <span style="color: #339933;">+</span> y<span style="color: #339933;">;</span>
	socket.<span style="color: #660066;">send</span><span style="color: #009900;">&#40;</span>msg<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>On the server side i use a PHP5 script. I have written my own server-class but it&#8217;s based on the work of the <a href="http://code.google.com/p/phpwebsocket/">phpwebsocket</a> project. The server.php instantiate the WebSocketServer object and contains the callback function.</p>
<p><a href="http://bohuco.net/dev/websocket/">http://bohuco.net/dev/websocket/</a></p>
<p>Source Codes:<br />
<a href="http://bohuco.net/dev/websocket/?source=WebSocketServer.php">WebSocketServer.php</a><br />
<a href="http://bohuco.net/dev/websocket/?source=server.php">server.php</a></p>

]]></content:encoded>
			<wfw:commentRss>http://bohuco.net/blog/2010/07/html5-websockets-example/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>SproutCore Erfinder eröffnet HTML5-Firma</title>
		<link>http://bohuco.net/blog/2010/07/sproutcore-erfinder-eroffnet-html5-firma/</link>
		<comments>http://bohuco.net/blog/2010/07/sproutcore-erfinder-eroffnet-html5-firma/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 05:39:52 +0000</pubDate>
		<dc:creator>DerFichtl</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Entwicklung]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[MobileMe]]></category>
		<category><![CDATA[SproutCore]]></category>

		<guid isPermaLink="false">http://bohuco.net/blog/?p=1428</guid>
		<description><![CDATA[

var dzone_url = 'http://bohuco.net/blog/2010/07/sproutcore-erfinder-eroffnet-html5-firma/';
var dzone_title = 'SproutCore Erfinder eröffnet HTML5-Firma';
var dzone_blurb = '';
var dzone_style = '1';




Der SproutCore Erfinder Charles Jolley verlässt Apple und gründet ein Unternehmen das sich mit der Entwicklung neuer Rich-Web Applikationen auf HTML5-basis beschäftigen wird.

Jolley war unter anderem für die MobileMe Plattform zuständig und hat für Apple Javascript Frameworks entwickelt. Die neue [...]]]></description>
			<content:encoded><![CDATA[<div class="dzone_button" style="float: right; margin-left: 10px;">
<script type="text/javascript">
var dzone_url = 'http://bohuco.net/blog/2010/07/sproutcore-erfinder-eroffnet-html5-firma/';
var dzone_title = 'SproutCore Erfinder eröffnet HTML5-Firma';
var dzone_blurb = '';
var dzone_style = '1';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fbohuco.net%252Fblog%252F2010%252F07%252Fsproutcore-erfinder-eroffnet-html5-firma%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22SproutCore%20Erfinder%20er%C3%B6ffnet%20HTML5-Firma%22%20%7D);"></div>
<p><a href="http://bohuco.net/blog/wp-content/uploads/2010/07/Bildschirmfoto-2010-07-09-um-07.37.33.png"><img class="alignright size-full wp-image-1429" title="Bildschirmfoto 2010-07-09 um 07.37.33" src="http://bohuco.net/blog/wp-content/uploads/2010/07/Bildschirmfoto-2010-07-09-um-07.37.33.png" alt="" width="118" height="135" /></a>Der <a href="http://www.sproutcore.com/">SproutCore</a> Erfinder Charles Jolley verlässt <a href="http://www.apple.com">Apple</a> und gründet ein Unternehmen das sich mit der Entwicklung neuer Rich-Web Applikationen auf HTML5-basis beschäftigen wird.</p>
<p><span id="more-1428"></span></p>
<p>Jolley war unter anderem für die MobileMe Plattform zuständig und hat für Apple Javascript Frameworks entwickelt. Die neue Firma wird Strobe Digital Publishing heißen und Jolley beschreib sie so:</p>
<blockquote><p>Strobe Digital Publishing is a better way to put content onto the iPad  and other mobile touch devices.  Based on a blend of HTML5 and native  technology, Strobe content applications offer a great native-style  reading experience with the ability to deep link and share content to  drive traffic.</p></blockquote>
<p>SproutCore ist ein HTML/Javascript Framework das diverse Komponenten für Rich-Web Applikationen zur Verfügung stellt &#8211; <a href="http://demo.sproutcore.com/sample_controls/">Demo</a>.</p>
<p>via <a href="http://news.cnet.com/8301-30685_3-20009681-264.html?part=rss&amp;subj=news&amp;tag=2547-1_3-0-20">cnet</a>, <a href="http://www.maclife.de/ehemaliger-apple-entwickler-gruendet-html5-unternehmen">maclife.de</a></p>

]]></content:encoded>
			<wfw:commentRss>http://bohuco.net/blog/2010/07/sproutcore-erfinder-eroffnet-html5-firma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Analytics Site Search Tracking</title>
		<link>http://bohuco.net/blog/2010/05/analytics-site-search-tracking/</link>
		<comments>http://bohuco.net/blog/2010/05/analytics-site-search-tracking/#comments</comments>
		<pubDate>Wed, 26 May 2010 05:31:17 +0000</pubDate>
		<dc:creator>DerFichtl</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[Inside Analytics Tracking]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[site search]]></category>
		<category><![CDATA[Tracking]]></category>

		<guid isPermaLink="false">http://bohuco.net/blog/?p=1407</guid>
		<description><![CDATA[

var dzone_url = 'http://bohuco.net/blog/2010/05/analytics-site-search-tracking/';
var dzone_title = 'Analytics Site Search Tracking';
var dzone_blurb = '';
var dzone_style = '1';




Selbst wenn man keine klassische Volltext-Suche auf der Seite hat kann man mit dem Site Search Tracking von Analytics arbeiten.

Man kann mittlerweile mehrere Parameter (GET, POST) angeben die in die Messung miteinbezogen werden sollen. Ausserdem kann man Parameter für Suchkategorien [...]]]></description>
			<content:encoded><![CDATA[<div class="dzone_button" style="float: right; margin-left: 10px;">
<script type="text/javascript">
var dzone_url = 'http://bohuco.net/blog/2010/05/analytics-site-search-tracking/';
var dzone_title = 'Analytics Site Search Tracking';
var dzone_blurb = '';
var dzone_style = '1';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fbohuco.net%252Fblog%252F2010%252F05%252Fanalytics-site-search-tracking%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FaCKpvu%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Analytics%20Site%20Search%20Tracking%22%20%7D);"></div>
<p>Selbst wenn man keine klassische Volltext-Suche auf der Seite hat kann man mit dem Site Search Tracking von Analytics arbeiten.<br />
<span id="more-1407"></span><br />
Man kann mittlerweile mehrere Parameter (GET, POST) angeben die in die Messung miteinbezogen werden sollen. Ausserdem kann man Parameter für Suchkategorien definieren. Falls man eine AJAX-Suche hat muß man die Messung manuell auslösen das sieht beim asynchronen Analytics so aus:</p>
<p>_gaq.push(['_trackPageview', "/jobs/search?keywords=Oida,Voda&amp;locations=Linz,Wien&amp;categories=Jobs"]);</p>
<p>&#8220;keywords&#8221; und &#8220;locations&#8221; wären in diesem Fall eine kombinierte Query und &#8220;categories&#8221; die Suchkategorien.<br />
<a href="http://bohuco.net/blog/wp-content/uploads/2010/05/Bildschirmfoto-Analytics.png"><img class="aligncenter size-full wp-image-1408" title="Bildschirmfoto Analytics" src="http://bohuco.net/blog/wp-content/uploads/2010/05/Bildschirmfoto-Analytics.png" alt="" width="703" height="393" /></a></p>

]]></content:encoded>
			<wfw:commentRss>http://bohuco.net/blog/2010/05/analytics-site-search-tracking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Browser-History mit jQuery auslesen</title>
		<link>http://bohuco.net/blog/2010/02/browser-history-with-jquery-auslesen/</link>
		<comments>http://bohuco.net/blog/2010/02/browser-history-with-jquery-auslesen/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 20:13:46 +0000</pubDate>
		<dc:creator>DerFichtl</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://bohuco.net/blog/?p=1323</guid>
		<description><![CDATA[

var dzone_url = 'http://bohuco.net/blog/2010/02/browser-history-with-jquery-auslesen/';
var dzone_title = 'Browser-History mit jQuery auslesen';
var dzone_blurb = '';
var dzone_style = '1';




Eine wirklich simple Idee &#8230; mittels der Farbunterscheidung zwischen &#8220;visited&#8221;- bzw. &#8220;nicht visited&#8221;-Links kann man die Browser-History eines Benutzers stehlen. Man braucht allerdings eine Linkliste die man vergleichen kann, also ist es kein richtiges stehlen. Im Detail funktioniert es so [...]]]></description>
			<content:encoded><![CDATA[<div class="dzone_button" style="float: right; margin-left: 10px;">
<script type="text/javascript">
var dzone_url = 'http://bohuco.net/blog/2010/02/browser-history-with-jquery-auslesen/';
var dzone_title = 'Browser-History mit jQuery auslesen';
var dzone_blurb = '';
var dzone_style = '1';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fbohuco.net%252Fblog%252F2010%252F02%252Fbrowser-history-with-jquery-auslesen%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Browser-History%20mit%20jQuery%20auslesen%22%20%7D);"></div>
<p>Eine wirklich simple Idee &#8230; mittels der Farbunterscheidung zwischen &#8220;visited&#8221;- bzw. &#8220;nicht visited&#8221;-Links kann man die Browser-History eines Benutzers stehlen. Man braucht allerdings eine Linkliste die man vergleichen kann, also ist es kein richtiges stehlen. Im Detail funktioniert es so das man mittels Javascript Links erzeugt und vergleicht in welcher Farbe sie dargestellt werden. So kann man zB feststellen ob der Benutzer vorher schon bei den Konkurrenten vorbeigeschaut hat.</p>
<p>Mein Beispiel-Script kann man unter folgender Adresse finden:<br />
<a href="http://bohuco.net/dev/history/">http://bohuco.net/dev/history/</a></p>
<p>(via <a href="http://dicabrio.com/javascript/steal-history.php">dicabrio</a>)</p>

]]></content:encoded>
			<wfw:commentRss>http://bohuco.net/blog/2010/02/browser-history-with-jquery-auslesen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Closure Compiler with PHP</title>
		<link>http://bohuco.net/blog/2009/11/google-closure-compiler-with-php/</link>
		<comments>http://bohuco.net/blog/2009/11/google-closure-compiler-with-php/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 00:04:02 +0000</pubDate>
		<dc:creator>DerFichtl</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[closure]]></category>
		<category><![CDATA[goolge]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://bohuco.net/blog/?p=1166</guid>
		<description><![CDATA[

var dzone_url = 'http://bohuco.net/blog/2009/11/google-closure-compiler-with-php/';
var dzone_title = 'Google Closure Compiler with PHP';
var dzone_blurb = '';
var dzone_style = '1';




Today Google released their new Closure Compiler, you can use it to optimize and minify your javascripts.

Now i show you how to use the new Google Closure Compiler over the RESTful API with PHP5. First of all, you don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<div class="dzone_button" style="float: right; margin-left: 10px;">
<script type="text/javascript">
var dzone_url = 'http://bohuco.net/blog/2009/11/google-closure-compiler-with-php/';
var dzone_title = 'Google Closure Compiler with PHP';
var dzone_blurb = '';
var dzone_style = '1';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fbohuco.net%252Fblog%252F2009%252F11%252Fgoogle-closure-compiler-with-php%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Google%20Closure%20Compiler%20with%20PHP%22%20%7D);"></div>
<p>Today Google released their new <a href="http://code.google.com/closure/compiler/">Closure Compiler</a>, you can use it to optimize and minify your javascripts.</p>
<p><span id="more-1166"></span></p>
<p>Now i show you how to use the new <a href="http://code.google.com/closure/compiler/">Google Closure Compiler</a> over the RESTful API with PHP5. First of all, you don&#8217;t need to install anything, we will connect the free API via <a href="http://www.php.net/manual/en/book.curl.php">cURL</a> usually activated in PHP5.</p>
<p>The API (<a href="http://code.google.com/closure/compiler/docs/api-ref.html">see reference</a>) resides under the following URL and requires four params:</p>
<p>http://closure-compiler.appspot.com/compile</p>
<pre>

<strong>compilation_level</strong>
is one of three options: WHITESPACE_ONLY, SIMPLE_OPTIMIZATIONS, ADVANCED_OPTIMIZATIONS,
i use simple optimizations, it don't need further config (like advanced) but is
better than whitespace only.

<strong>output_format</strong>
is "text" if you want compile a javascript

<strong>output_info</strong>
is "compiled_code" if you want compile a javascript

<strong>js_code</strong>
is your javascript source code, instead you can submit "code_url" param, an url
to a javascript-file

&nbsp;
</pre>
<p>enough with theory, now the PHP code:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #000088;">$script</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http://www.domain.com/scripts/script.js'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$ch</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_init</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http://closure-compiler.appspot.com/compile'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_POST<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_POSTFIELDS<span style="color: #339933;">,</span> <span style="color: #0000ff;">'output_info=compiled_code&amp;output_format=text&amp;compilation_level=SIMPLE_OPTIMIZATIONS&amp;js_code='</span> <span style="color: #339933;">.</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$script</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_exec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>i use it in a deployer script and replace the content of my script files with the compiled versions. you can <a href="http://bohuco.net/testing/google/closure-compiler.php">tryout the compiler</a> with a simple html-form.</p>

]]></content:encoded>
			<wfw:commentRss>http://bohuco.net/blog/2009/11/google-closure-compiler-with-php/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>iPhone Lagesensor via Javascript</title>
		<link>http://bohuco.net/blog/2009/07/iphone-lagesensor-via-javascript/</link>
		<comments>http://bohuco.net/blog/2009/07/iphone-lagesensor-via-javascript/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 19:11:22 +0000</pubDate>
		<dc:creator>DerFichtl</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://bohuco.net/blog/?p=1080</guid>
		<description><![CDATA[

var dzone_url = 'http://bohuco.net/blog/2009/07/iphone-lagesensor-via-javascript/';
var dzone_title = 'iPhone Lagesensor via Javascript';
var dzone_blurb = '';
var dzone_style = '1';




Über den Lagesensor kann man ermitteln ob das iPhone gerade hochkant oder horizontal gehalten wird. Safari am iPhone besitzt dazu ein spezielles window-attribut. In window.orientation steht entweder 0 (für vertikal) oder +/-90 wenn das iPhone quer gehalten wird, je nachdem [...]]]></description>
			<content:encoded><![CDATA[<div class="dzone_button" style="float: right; margin-left: 10px;">
<script type="text/javascript">
var dzone_url = 'http://bohuco.net/blog/2009/07/iphone-lagesensor-via-javascript/';
var dzone_title = 'iPhone Lagesensor via Javascript';
var dzone_blurb = '';
var dzone_style = '1';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fbohuco.net%252Fblog%252F2009%252F07%252Fiphone-lagesensor-via-javascript%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22iPhone%20Lagesensor%20via%20Javascript%22%20%7D);"></div>
<p>Über den Lagesensor kann man ermitteln ob das iPhone gerade hochkant oder horizontal gehalten wird. Safari am iPhone besitzt dazu ein spezielles window-attribut. In window.orientation steht entweder 0 (für vertikal) oder +/-90 wenn das iPhone quer gehalten wird, je nachdem welche Richtung es gedreht wurde.</p>
<p>Um auf eine Änderung reagieren zu können gibt es den Event-Handler onorientationchange den man zum Beispiel im BODY-Tag verwenden kann:</p>
<div style="width:90%;">

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&nbsp;
    &lt;body onorientationchange=&quot;alert(window.orientation);&quot;&gt;&lt;/body&gt;</pre></div></div>

</div>
<p>&raquo;&nbsp;<a href="http://bohuco.net/dev/iphone/orientation.html">Beispiel-Seite</a></p>

]]></content:encoded>
			<wfw:commentRss>http://bohuco.net/blog/2009/07/iphone-lagesensor-via-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chrome Javascript Debugger/Profiler</title>
		<link>http://bohuco.net/blog/2009/06/google-hat-diese-woche-einen-javascript/</link>
		<comments>http://bohuco.net/blog/2009/06/google-hat-diese-woche-einen-javascript/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 17:07:24 +0000</pubDate>
		<dc:creator>DerFichtl</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Debugger]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://bohuco.net/blog/2009/06/google-hat-diese-woche-einen-javascript/</guid>
		<description><![CDATA[

var dzone_url = 'http://bohuco.net/blog/2009/06/google-hat-diese-woche-einen-javascript/';
var dzone_title = 'Chrome Javascript Debugger/Profiler';
var dzone_blurb = '';
var dzone_style = '1';




Google hat diese Woche einen Javascript Debugger/Profiler für Chrome veröffentlicht, bisher waren ja nur die WebKit-Tools enthalten.
via golem

]]></description>
			<content:encoded><![CDATA[<div class="dzone_button" style="float: right; margin-left: 10px;">
<script type="text/javascript">
var dzone_url = 'http://bohuco.net/blog/2009/06/google-hat-diese-woche-einen-javascript/';
var dzone_title = 'Chrome Javascript Debugger/Profiler';
var dzone_blurb = '';
var dzone_style = '1';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fbohuco.net%252Fblog%252F2009%252F06%252Fgoogle-hat-diese-woche-einen-javascript%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Chrome%20Javascript%20Debugger%2FProfiler%22%20%7D);"></div>
<p>Google hat diese Woche einen <a href="http://blog.chromium.org/2009/06/developer-tools-for-google-chrome.html">Javascript Debugger/Profiler für Chrome</a> veröffentlicht, bisher waren ja nur die WebKit-Tools enthalten.</p>
<p>via <a href="http://www.golem.de/0906/68025.html">golem</a></p>

]]></content:encoded>
			<wfw:commentRss>http://bohuco.net/blog/2009/06/google-hat-diese-woche-einen-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firebug console.log &#8211; graceful degradation and cool features</title>
		<link>http://bohuco.net/blog/2009/02/firebug-consolelog-graceful-degradation-and-cool-features/</link>
		<comments>http://bohuco.net/blog/2009/02/firebug-consolelog-graceful-degradation-and-cool-features/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 06:00:46 +0000</pubDate>
		<dc:creator>DerFichtl</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Firebug]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://bohuco.net/blog/?p=758</guid>
		<description><![CDATA[

var dzone_url = 'http://bohuco.net/blog/2009/02/firebug-consolelog-graceful-degradation-and-cool-features/';
var dzone_title = 'Firebug console.log &#8211; graceful degradation and cool features';
var dzone_blurb = '';
var dzone_style = '1';




My favorite feature in firebug is console.log but it has one problem, you have to remove all calls from source code before going live else your visitors will get many many javascript errors. But there is [...]]]></description>
			<content:encoded><![CDATA[<div class="dzone_button" style="float: right; margin-left: 10px;">
<script type="text/javascript">
var dzone_url = 'http://bohuco.net/blog/2009/02/firebug-consolelog-graceful-degradation-and-cool-features/';
var dzone_title = 'Firebug console.log &#8211; graceful degradation and cool features';
var dzone_blurb = '';
var dzone_style = '1';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fbohuco.net%252Fblog%252F2009%252F02%252Ffirebug-consolelog-graceful-degradation-and-cool-features%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Firebug%20console.log%20-%20graceful%20degradation%20and%20cool%20features%22%20%7D);"></div>
<p>My favorite feature in firebug is console.log but it has one problem, you have to remove all calls from source code before going live else your visitors will get many many javascript errors. But there is a really simple solution for that problem, getfirebug.com hosts a javascript which creates a fallback console object if firebug is not installed.</p>
<p>[sourcecode language="javascript"]</p>
<p><!-- graceful degradation of firebugs console obj --><br />
<script type="text/javascript" src="http://www.getfirebug.com/firebug/firebugx.js"></script></p>
<p>[/sourcecode]</p>
<p>So, now we are on the save side and can play around with the console object. The usually most used method is &#8220;log&#8221;, it simply prints something to the console. Strings, Arrays, Objects, Dom, XML &#8230; everything works, log can also print more than one variable at once.</p>
<p>[sourcecode language="javascript"]</p>
<p>console.log(&#8216;A String&#8217;, ['an','array'], document.getElementById(&#8216;domObject&#8217;));</p>
<p>[/sourcecode]</p>
<p>Console can write messages with a specific type, so you can print errors and warnings to your console.</p>
<p>[sourcecode language="javascript"]</p>
<p>console.error(&#8216;an error&#8217;);<br />
console.warn(&#8216;a warning&#8217;);</p>
<p>[/sourcecode]</p>
<p>Outline object members in console with the &#8216;dir&#8217; method.</p>
<p>[sourcecode language="javascript"]</p>
<p>console.dir({nice:&#8217;to&#8217;, see:&#8217;that&#8217;, cool:function(){ alert(&#8216;cool&#8217;); }});</p>
<p>[/sourcecode]</p>
<p>If you wanna see all cool features, now and live, there is an example page on bohuco.net/code:<br />
<a href="http://bohuco.net/code/firebug-logging/">http://bohuco.net/code/firebug-logging/</a></p>
<p>More infos:<br />
<a href="http://getfirebug.com/console.html">http://getfirebug.com/console.html</a><br />
<a href="http://code.google.com/support/bin/answer.py?answer=94630">Google Code &#8211; Fun with Firebug</a></p>

]]></content:encoded>
			<wfw:commentRss>http://bohuco.net/blog/2009/02/firebug-consolelog-graceful-degradation-and-cool-features/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Playing around with gameQuery</title>
		<link>http://bohuco.net/blog/2008/10/playing-around-with-gamequery/</link>
		<comments>http://bohuco.net/blog/2008/10/playing-around-with-gamequery/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 20:20:08 +0000</pubDate>
		<dc:creator>DerFichtl</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[gameQuery]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://bohuco.net/blog/?p=503</guid>
		<description><![CDATA[

var dzone_url = 'http://bohuco.net/blog/2008/10/playing-around-with-gamequery/';
var dzone_title = 'Playing around with gameQuery';
var dzone_blurb = '';
var dzone_style = '1';




gameQuery, a new jQuery plugin, provides functions for creating browser games. In this early stage gameQuery supports a main-loop, game area (playground), sprites with CSS animations and sounds (not tried yet).
I have played around with gameQuery and here is the [...]]]></description>
			<content:encoded><![CDATA[<div class="dzone_button" style="float: right; margin-left: 10px;">
<script type="text/javascript">
var dzone_url = 'http://bohuco.net/blog/2008/10/playing-around-with-gamequery/';
var dzone_title = 'Playing around with gameQuery';
var dzone_blurb = '';
var dzone_style = '1';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fbohuco.net%252Fblog%252F2008%252F10%252Fplaying-around-with-gamequery%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Playing%20around%20with%20gameQuery%22%20%7D);"></div>
<p><a href="http://gamequery.onaluf.org">gameQuery</a>, a new <a href="http://jquery.com">jQuery</a> plugin, provides functions for creating browser games. In this early stage gameQuery supports a main-loop, game area (playground), sprites with CSS animations and sounds (not tried yet).</p>
<p>I have played around with gameQuery and here is <a href="http://bohuco.net/testing/gamequery/pong.html">the result</a>. A simple <a href="http://bohuco.net/testing/gamequery/pong.html">Pong clone</a> that should work in IE6/7, Chrome and Firefox.</p>
<p>The current gameQuery version is 0.2.5 and so there are some points for improvement. Every sprite needs an animation and every animation needs an image even if you don&#8217;t need it. Playground is always position:absolute and it has a black border. Only little things that you can override.</p>
<p style="text-align: center;"><a href="http://bohuco.net/testing/gamequery/pong.html"><img class="size-full wp-image-504 aligncenter" title="bild-2" src="http://bohuco.net/blog/wp-content/uploads/2008/10/bild-2.png" alt="" width="382" height="265" /></a></p>
<p style="text-align: left;"><a href="http://ajaxian.com/archives/gamequery">found @ Ajaxian</a></p>

]]></content:encoded>
			<wfw:commentRss>http://bohuco.net/blog/2008/10/playing-around-with-gamequery/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Javascript private members</title>
		<link>http://bohuco.net/blog/2008/10/javascript-private-members/</link>
		<comments>http://bohuco.net/blog/2008/10/javascript-private-members/#comments</comments>
		<pubDate>Sat, 11 Oct 2008 07:29:29 +0000</pubDate>
		<dc:creator>DerFichtl</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[private]]></category>
		<category><![CDATA[privileged]]></category>
		<category><![CDATA[public]]></category>

		<guid isPermaLink="false">http://bohuco.net/blog/?p=496</guid>
		<description><![CDATA[

var dzone_url = 'http://bohuco.net/blog/2008/10/javascript-private-members/';
var dzone_title = 'Javascript private members';
var dzone_blurb = '';
var dzone_style = '1';




Die definitive Link-Sammlung:
http://www.crockford.com/javascript/private.html
http://mckoss.com/jscript/object.htm
Wichtig: Private Variablen können nicht aus den public Methoden gelesen werden sondern nur aus den private-Methoden &#8230; also MUSS es für die privaten Variablen Setter- und Getter-Methoden geben. Und, die privaten Methoden werden NICHT mit &#8220;this&#8221; aufgerufen:
[sourcecode language='javascript']
var test [...]]]></description>
			<content:encoded><![CDATA[<div class="dzone_button" style="float: right; margin-left: 10px;">
<script type="text/javascript">
var dzone_url = 'http://bohuco.net/blog/2008/10/javascript-private-members/';
var dzone_title = 'Javascript private members';
var dzone_blurb = '';
var dzone_style = '1';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fbohuco.net%252Fblog%252F2008%252F10%252Fjavascript-private-members%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Javascript%20private%20members%22%20%7D);"></div>
<p>Die definitive Link-Sammlung:</p>
<p>http://www.crockford.com/javascript/private.html</p>
<p>http://mckoss.com/jscript/object.htm</p>
<p>Wichtig: Private Variablen können nicht aus den public Methoden gelesen werden sondern nur aus den private-Methoden &#8230; also MUSS es für die privaten Variablen Setter- und Getter-Methoden geben. Und, die privaten Methoden werden NICHT mit &#8220;this&#8221; aufgerufen:</p>
<p>[sourcecode language='javascript']</p>
<p>var test = function() {</p>
<p>    // private variable<br />
    var status = 1;</p>
<p>    // private method<br />
    var getStatus = function() {<br />
        return status;<br />
    }</p>
<p>    return {<br />
        publicMethod: function() {<br />
            var status = getStatus(); // NOT this.getStatus();<br />
        }<br />
    }<br />
}</p>
<p>[/sourcecode]</p>

]]></content:encoded>
			<wfw:commentRss>http://bohuco.net/blog/2008/10/javascript-private-members/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
