<?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>Andreas Johansson om webben och det där digitala &#187; cache</title>
	<atom:link href="http://cynatic.org/tag/cache/feed/" rel="self" type="application/rss+xml" />
	<link>http://cynatic.org</link>
	<description></description>
	<lastBuildDate>Sat, 12 May 2012 20:21:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Cache och att uppdatera bilder med jQuery</title>
		<link>http://cynatic.org/cache-och-att-uppdatera-bilder-med-jquery/</link>
		<comments>http://cynatic.org/cache-och-att-uppdatera-bilder-med-jquery/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 15:20:09 +0000</pubDate>
		<dc:creator>Andreas Johansson</dc:creator>
				<category><![CDATA[Nördigt]]></category>
		<category><![CDATA[Webbdesign]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Webbutveckling]]></category>

		<guid isPermaLink="false">http://cynatic.org/?p=1304</guid>
		<description><![CDATA[Tänk dig att du har ska fixa bildeditering på sidan du utvecklar. Tänk att du vill att användaren ska kunna [...]]]></description>
			<content:encoded><![CDATA[<p>Tänk dig att du har ska fixa bildeditering på sidan du utvecklar. Tänk att du vill att användaren ska kunna förändra små delar av bilden i webbläsaren och för att få det att gå så smidigt som möjligt så vill du uppdatera bilden utan att webbläsaren laddar om.</p>
<img class="size-full wp-image-1306 alignnone" title="bildeditering-jquery-bild" src="http://cynatic.org/wp-content/uploads/2009/12/bildeditering-jquery-bild.png" alt="bildeditering-jquery-bild" width="470" height="251" />
<p><em><strong>Problem</strong>: Webbläsarens cache sparar bilden och hämtar den gamla, det går tyvärr inte ens att lita på no-cache/no-store meta-taggarna.</em></p>
<p><em><strong>Lösningen</strong>: Uppdatera bilden med en query-sträng.</em></p>
<p>Tänk dig att du har följande HTML:</p>
<p>[code lang="html"]&lt;div&gt;<br />
	&lt;img src=&quot;bild.jpg&quot; alt=&quot;&quot; title=&quot;&quot; id=&quot;image&quot; /&gt;<br />
	&lt;input type=&quot;button&quot; value=&quot;update&quot; id=&quot;update&quot; /&gt;<br />
&lt;/div&gt;</pre>
<p>Du vill nu att bilden ska uppdateras så fort någon trycker på knappen. För enkelhetens skull så använder vi <a href="http://jquery.com">jQuery</a>.</p>
<p>[code lang="javascript"]<br />
$('#update').click( function () {<br />
	$('#image').attr('src', 'bild.jpg');<br />
});
</pre>
<p>Javascriptkoden ovan ska enligt reglerna byta ut bild.jpg mot bild.jpg, det vill säga uppdatera bilden från servern igen. Det är vid detta momentet cache-funktionen spökar.</p>
<p>Vad vi gör då är att vi lägger till en querysträng i slutet av bilden.</p>
<p>[code lang="javascript"]<br />
$('#update').click( function () {<br />
	var timestamp = new Date().getTime();<br />
	$('#image').attr('src', 'bild.jpg?t='+timestamp);<br />
});
</pre>
<p>Vi lägger alltså till en tidsstämpel som sätts till epoch/unixtid och lägger till den som en sträng efter bilden. Bilden kommer alltså hämtas som <em>bild.jpg?t=123445345</em> där siffrorna alltid ändras och aldrig är unika.</p>
<p>Vad detta innebär i praktiken är att webbläsaren luras att tro att bilden som hämtas alltid är unik och inte är samma som redans finns lagrad - det vill säga att bilden kommer alltid att förnyas, oavsett cache.</p>
<hr />Publicerat av andreas för <a href="http://cynatic.org/cache-och-att-uppdatera-bilder-med-jquery/">Andreas Johansson om webben och det där digitala</a>, licensierat under <a href="http://creativecommons.org/licenses/by/2.5/se/">CC BY</a>. Alla mår bra av kärlek - speciellt länkkärlek.]]></content:encoded>
			<wfw:commentRss>http://cynatic.org/cache-och-att-uppdatera-bilder-med-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

