<?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>Ten Tonne Baby &#187; flash</title>
	<atom:link href="http://www.tentonnebaby.com/tag/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tentonnebaby.com</link>
	<description>Discussion on Web Technologies, Design and London</description>
	<lastBuildDate>Thu, 19 Jan 2012 09:33:30 +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>Unable to fade text in Flash player 9</title>
		<link>http://www.tentonnebaby.com/2009/03/31/unable-to-fade-text-in-flash-player-9/</link>
		<comments>http://www.tentonnebaby.com/2009/03/31/unable-to-fade-text-in-flash-player-9/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 15:48:48 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.embeddedstream.com/2009/03/31/unable-to-fade-text-in-flash-player-9/</guid>
		<description><![CDATA[I was looking into a bizarre problem recently in Flash where I couldn’t get the simplest thing to work – fading text. I tried everything I could think of – motion tweens, classic tweens, changing the Alpha effect, changing the alpha channel in the text colour.
The weird thing was that targetting Flash 10 in the [...]]]></description>
			<content:encoded><![CDATA[<p>I was looking into a bizarre problem recently in Flash where I couldn’t get the simplest thing to work – fading text. I tried everything I could think of – motion tweens, classic tweens, changing the Alpha effect, changing the alpha channel in the text colour.</p>
<p>The weird thing was that targetting Flash 10 in the publishing settings meant the animation worked fine, but switching to flash 9 caused it to stop working.</p>
<p>It turns out that in order to animate the opacity of dynamic text for Flash 9, you need to explicitly specify which character glyphs to embed in the swf. Select the dynamic text element, then hit the ‘Character Embedding’ button in the properties pane.</p>
<p>When I stop to think about it, this makes a lot of sense. By default I would imagine flash is using the operating system to draw the text with the specified font. This is why the font needs to exist on the end machine. However, as soon as you do things like fade opacity, I think flash must take responsibility for rendering the text. In order to do that, flash needs the vector information for drawing different characters in the font, so you have to explicitly embed that information. In order for this to work in Flash player 10, they must make some kind of default assumption that you need the vector information embedded, and do this for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2009/03/31/unable-to-fade-text-in-flash-player-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problems with javascript minification that affects SwfObject 2.1 in Internet Explorer</title>
		<link>http://www.tentonnebaby.com/2009/03/26/problems-with-javascript-minification-that-affects-swfobject-21-in-internet-explorer/</link>
		<comments>http://www.tentonnebaby.com/2009/03/26/problems-with-javascript-minification-that-affects-swfobject-21-in-internet-explorer/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 12:01:20 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.embeddedstream.com/2009/03/26/problems-with-javascript-minification-that-affects-swfobject-21-in-internet-explorer/</guid>
		<description><![CDATA[This is actually a more general issue with javascript minification that can affect a number of scripts, but I noticed it while tracking down weird behaviour with the minified version of SwfObject that only affected Internet Explorer.
Basically, standard behaviour with most javascript minifiers is to strip out anything contained within comments. I finally tracked down [...]]]></description>
			<content:encoded><![CDATA[<p>This is actually a more general issue with javascript minification that can affect a number of scripts, but I noticed it while tracking down weird behaviour with the minified version of <a href="http://code.google.com/p/swfobject/">SwfObject</a> that only affected Internet Explorer.</p>
<p>Basically, standard behaviour with most javascript minifiers is to strip out anything contained within comments. I finally tracked down this piece of code in the swfobject library that was getting stripped out (incorrectly) by the minifier…</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &#39;Courier New&#39;, courier, monospace; background-color: #f4f4f4">
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #008000">/*@cc_on</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #008000">ie = true;</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #008000">@if (@_win32)</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #008000">windows = true;</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #008000">@elif (@_mac)</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #008000">        mac = true;</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #008000">    @end</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #008000">@*/</span></pre>
</p></div>
</div>
<p>This library carries out browser detection by using the proprietary Conditional Compilation feature in Internet Explorer. In order to stop other browsers from choking, the code is wrapped in a comment.</p>
<p>I’m not commenting whether this is a good or bad idea, simply that it does appear in existing scripts, and causes a bunch of javascript minifiers to strip out functional code.</p>
<p>I think my approach will be to revise the set of regular expressions that control what gets stripped out to cater for this variation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2009/03/26/problems-with-javascript-minification-that-affects-swfobject-21-in-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problem with SWFObject 2.1 in IE7 / Vista</title>
		<link>http://www.tentonnebaby.com/2009/03/18/problem-with-swfobject-21-in-ie7-vista/</link>
		<comments>http://www.tentonnebaby.com/2009/03/18/problem-with-swfobject-21-in-ie7-vista/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 12:03:18 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[IE7]]></category>

		<guid isPermaLink="false">http://www.embeddedstream.com/2009/03/18/problem-with-swfobject-21-in-ie7-vista/</guid>
		<description><![CDATA[I have a site where I&#8217;m using the SWFObject javascript library to handle Flash detection and embedding of flash movies. I noticed a javascript error in IE7 that was preventing the alternate content being replaced with the flash movie &#8211; the end result was a banner showing &#8216;get a new version of flash&#8217; etc.
After a [...]]]></description>
			<content:encoded><![CDATA[<p>I have a site where I&#8217;m using the <a href="http://code.google.com/p/swfobject/">SWFObject javascript library</a> to handle Flash detection and embedding of flash movies. I noticed a javascript error in IE7 that was preventing the alternate content being replaced with the flash movie &#8211; the end result was a banner showing &#8216;get a new version of flash&#8217; etc.</p>
<p>After a little investigation the problem appears to only affect the minified version of the library. I haven&#8217;t found the exact issue, but it looks like a problem with the obfuscation applied in publishing the minified js file.</p>
<p>I have a custom endpoint handling minification and caching of the javascript anyhow, so after switching to the source version of the library and handling minification myself, all is good in IE7.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2009/03/18/problem-with-swfobject-21-in-ie7-vista/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Webtrends tracking from Flash</title>
		<link>http://www.tentonnebaby.com/2009/02/27/webtrends-tracking-from-flash/</link>
		<comments>http://www.tentonnebaby.com/2009/02/27/webtrends-tracking-from-flash/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 12:07:19 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[webtrends]]></category>

		<guid isPermaLink="false">http://www.embeddedstream.com/2009/02/27/webtrends-tracking-from-flash/</guid>
		<description><![CDATA[I&#8217;ve been working on a Flash widget, and the majority of the sites it will be hosted on use WebTrends for analytics. I recently had to look into capturing certain interaction events from the Flash movie and passing them through to WebTrends for reporting.
Flash events are tracked as fake page impressions in WebTrends based on [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a Flash widget, and the majority of the sites it will be hosted on use WebTrends for analytics. I recently had to look into capturing certain interaction events from the Flash movie and passing them through to WebTrends for reporting.</p>
<p>Flash events are tracked as fake page impressions in WebTrends based on unique URLs that you define. The flash movie doesn&#8217;t talk to WebTrends directly &#8211; it calls through to javascript on the host page which logs the event via standard WebTrends javascript.</p>
<p>In my case I&#8217;m working on a widget that could be hosted on a variety of pages that may or may not implement WebTrends. The required behaviour is for tracking to automatically kick in if the host page implements WebTrends, but gracefully degrade if not. I have a javascript file that handles interaction with the flash movie, so I can guarantee certain js functions exist on the host page.</p>
<p>The solution looks like so&#8230;</p>
<h3>Add an ActionScript class to pass events through to host page</h3>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">package {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    import flash.external.ExternalInterface;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> Analytics {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">const</span> WIDGET_LOADED:String = <span style="color: #006080;">"/Video/Widget/WidgetLoaded"</span>;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">const</span> PLAYER_LAUNCHED:String = <span style="color: #006080;">"/Video/Widget/PlayerLaunched"</span>;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> Analytics(): <span style="color: #0000ff;">void</span> {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span> captureEvent(eventType:String) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">            <span style="color: #0000ff;">if</span> (ExternalInterface.available) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">                ExternalInterface.call(<span style="color: #006080;">"mycompany.video.captureAnalyticsEvent"</span>,  eventType);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">            }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">}</pre>
</div>
</div>
<p>An example of passing an event to this class&#8230;</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; height: 44px; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">Analytics.captureEvent(Analytics.WIDGET_LOADED);</pre>
</div>
</div>
<h3>Implement javascript functions on the host page</h3>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #008000;">/* set up namespace for new functions */</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #0000ff;">if</span> (window[<span style="color: #006080;">"mycompany"</span>] == <span style="color: #0000ff;">null</span>) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    window[<span style="color: #006080;">"mycompany"</span>] = {};</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">}</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">mycompany.video = {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    webtrendsTrackingFunction: {},</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    captureAnalyticsEvent: <span style="color: #0000ff;">function</span>(eventType) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #0000ff;">var</span> uriParam = <span style="color: #006080;">'DCS.dcsuri'</span>;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">typeof</span> (<span style="color: #0000ff;">this</span>.webtrendsTrackingFunction) == <span style="color: #006080;">'function'</span>) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">            <span style="color: #008000;">// if user has nominated a specific tracking function</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">            <span style="color: #0000ff;">this</span>.webtrendsTrackingFunction(uriParam, eventType);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        } <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> (window[<span style="color: #006080;">"dcsMultiTrack"</span>] != <span style="color: #0000ff;">null</span>) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">            <span style="color: #008000;">// if dcsMultiTrack already implemented on page</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">            window.dcsMultiTrack(uriParam, eventType);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        } <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> (window[<span style="color: #006080;">"dcsTag"</span>] != <span style="color: #0000ff;">null</span>) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">            <span style="color: #008000;">// otherwise if webtrends implemented on page, use default implementation</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">            mycompany.video.analytics.dcsMultiTrack(uriParam, eventType);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">}</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">mycompany.video.analytics = {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    dcsMultiTrack: <span style="color: #0000ff;">function</span>() {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        <span style="color: #0000ff;">for</span> (<span style="color: #0000ff;">var</span> i = 0; i &lt; arguments.length; i++) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">            <span style="color: #0000ff;">if</span> (arguments[i].indexOf(<span style="color: #006080;">'WT.'</span>) == 0) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">                WT[arguments[i].substring(3)] = arguments[i + 1]; i++;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">            }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">            <span style="color: #0000ff;">if</span> (arguments[i].indexOf(<span style="color: #006080;">'DCS.'</span>) == 0) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">                DCS[arguments[i].substring(4)] = arguments[i + 1]; i++;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">            }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">            <span style="color: #0000ff;">if</span> (arguments[i].indexOf(<span style="color: #006080;">'DCSext.'</span>) == 0) {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">                DCSext[arguments[i].substring(7)] = arguments[i + 1]; i++;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">            }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #0000ff;">var</span> dCurrent = <span style="color: #0000ff;">new</span> Date();</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        DCS.dcsdat = dCurrent.getTime();</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        dcsTag();</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">}</pre>
</div>
</div>
<p>The key points above the script above&#8230;</p>
<ul>
<li>To report events from Flash, WebTrends require an additional function on the host page that they provide &#8211; dcsMultiTrack</li>
<li>If the host page has implemented dcsMultiTrack already, the existing function will be used</li>
<li>If the host page implements standard WT js but <strong>not</strong> the additional function, a fresh implementation of the dcsMultiTrack function will be used</li>
<li>If WebTrends javascript has not been implemented on the host page, nothing bad happens</li>
</ul>
<p>In addition, we have a standard function that the flash movie will always call, so if we need to extend functionality to cater for different analytics systems etc, then we have a single place to implement this.</p>
<p>This is probably the least sexy post I&#8217;ve ever written, but it seemed worthwhile to document this. I&#8217;ll follow up with some sexified content sometime soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2009/02/27/webtrends-tracking-from-flash/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using ExternalInterface to call Javascript from Actionscript &#8211; &#8216;null&#8217; is null or not an object in IE</title>
		<link>http://www.tentonnebaby.com/2009/02/26/using-externalinterface-to-call-javascript-from-actionscript-null-is-null-or-not-an-object-in-ie/</link>
		<comments>http://www.tentonnebaby.com/2009/02/26/using-externalinterface-to-call-javascript-from-actionscript-null-is-null-or-not-an-object-in-ie/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 11:00:22 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.embeddedstream.com/2009/02/26/using-externalinterface-to-call-javascript-from-actionscript-null-is-null-or-not-an-object-in-ie/</guid>
		<description><![CDATA[If you are using ExternalInterface in Actionscript 3 to call through to a javascript function, the original object tag that instantiated the flash runtime needs to have an explicit id attribute. Otherwise you&#8217;ll get the above error when running the movie in Internet Explorer.
]]></description>
			<content:encoded><![CDATA[<p>If you are using ExternalInterface in Actionscript 3 to call through to a javascript function, the original object tag that instantiated the flash runtime needs to have an explicit id attribute. Otherwise you&#8217;ll get the above error when running the movie in Internet Explorer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2009/02/26/using-externalinterface-to-call-javascript-from-actionscript-null-is-null-or-not-an-object-in-ie/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Added object tag to page via DOM methods &#8211; IE chaos</title>
		<link>http://www.tentonnebaby.com/2009/02/26/added-object-tag-to-page-via-dom-methods-ie-chaos/</link>
		<comments>http://www.tentonnebaby.com/2009/02/26/added-object-tag-to-page-via-dom-methods-ie-chaos/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 10:51:46 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[x-browser]]></category>

		<guid isPermaLink="false">http://www.embeddedstream.com/2009/02/26/added-object-tag-to-page-via-dom-methods-ie-chaos/</guid>
		<description><![CDATA[I&#8217;ve been working on a widget project that involves Flash and Javascript, and came across some very strange behaviour in IE6 / 7. The object tag to render the flash movie is dynamically added to the page at runtime using standard DOM methods &#8211; document.createElement, setAttribute, appendChild etc. Life was wonderful until I opened Internet [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a widget project that involves Flash and Javascript, and came across some very strange behaviour in IE6 / 7. The object tag to render the flash movie is dynamically added to the page at runtime using standard DOM methods &#8211; document.createElement, setAttribute, appendChild etc. Life was wonderful until I opened Internet Explorer, which hangs with what looks like a request for a file with no timeout (progress bar moving very slowly but never completing). This is identical behaviour to how IE behaves when the location of the SWF is invalid.</p>
<h3>The markup</h3>
<p>The markup I was generating was based on <a href="http://www.alistapart.com/articles/flashsatay">Flash Satay</a>. Including this as static markup in a page works fine. Simple example below&#8230;</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">object</span> <span style="color: #ff0000;">type</span><span style="color: #0000ff;">='application/x-shockwave-flash'</span> <span style="color: #ff0000;">data</span><span style="color: #0000ff;">='test.swf'</span> <span style="color: #ff0000;">width</span><span style="color: #0000ff;">='420'</span> <span style="color: #ff0000;">height</span><span style="color: #0000ff;">='155'</span><span style="color: #0000ff;">&gt;</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">param</span> <span style="color: #ff0000;">name</span><span style="color: #0000ff;">='movie'</span> <span style="color: #ff0000;">value</span><span style="color: #0000ff;">='test.swf'</span> <span style="color: #0000ff;">/&gt;</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">object</span><span style="color: #0000ff;">&gt;</span></pre>
</div>
</div>
<h3>DOM approach that chokes IE</h3>
<p>The following approach causes IE to choke&#8230;</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">&lt;script type=<span style="color: #006080;">"text/javascript"</span>&gt;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    <span style="color: #0000ff;">var</span> <span style="color: #0000ff;">object</span> = document.createElement(<span style="color: #006080;">'object'</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    <span style="color: #0000ff;">object</span>.setAttribute(<span style="color: #006080;">'type'</span>, <span style="color: #006080;">'application/x-shockwave-flash'</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    <span style="color: #0000ff;">object</span>.setAttribute(<span style="color: #006080;">'data'</span>, <span style="color: #006080;">'test.swf'</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    <span style="color: #0000ff;">object</span>.setAttribute(<span style="color: #006080;">'width'</span>, <span style="color: #006080;">'100'</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    <span style="color: #0000ff;">object</span>.setAttribute(<span style="color: #006080;">'height'</span>, <span style="color: #006080;">'100'</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    <span style="color: #0000ff;">var</span> param = document.createElement(<span style="color: #006080;">'param'</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    param.setAttribute(<span style="color: #006080;">'name'</span>, <span style="color: #006080;">'movie'</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    param.setAttribute(<span style="color: #006080;">'value'</span>, <span style="color: #006080;">'test.swf'</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    <span style="color: #0000ff;">object</span>.appendChild(param);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    document.body.appendChild(<span style="color: #0000ff;">object</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">&lt;/script&gt;</pre>
</div>
</div>
<h3>The solution / workaround</h3>
<p>For some reason if the object tag + params are parsed at the same time everything works fine, so the solution involves using the alternate approach to manipulating the DOM &#8211; innerHTML. This wouldn&#8217;t have been my first choice given the situation, but it seems to be the only way to get this working. A version that works in IE&#8230;</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">&lt;script type=<span style="color: #006080;">"text/javascript"</span>&gt;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    <span style="color: #0000ff;">var</span> fragment =</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #006080;">"&lt;object type='application/x-shockwave-flash' data='test.swf' width='100' height='100'&gt;"</span> +</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">            <span style="color: #006080;">"&lt;param name='movie' value='test.swf' /&gt;"</span> +</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #006080;">"&lt;/object&gt;"</span>;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    <span style="color: #0000ff;">var</span> container = document.createElement(<span style="color: #006080;">'div'</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    container.innerHTML = fragment;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    document.body.appendChild(container);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">&lt;/script&gt;</pre>
</div>
</div>
<p>This achieves the same end result &#8211; a DOM element node that can be inserted anyway you wish, but avoid the problem in IE.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2009/02/26/added-object-tag-to-page-via-dom-methods-ie-chaos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Goggles</title>
		<link>http://www.tentonnebaby.com/2007/04/18/google-goggles/</link>
		<comments>http://www.tentonnebaby.com/2007/04/18/google-goggles/#comments</comments>
		<pubDate>Wed, 18 Apr 2007 15:12:43 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://www.embeddedstream.com/2007/04/18/google-goggles/</guid>
		<description><![CDATA[OK, my new favourite thing is this cool little flash game. It&#8217;s a flight simulator based on the google maps API that lets you fly around london. Such a cool idea&#8230;
]]></description>
			<content:encoded><![CDATA[<p>OK, my new favourite thing is this <a href="http://www.isoma.net/games/goggles.html">cool little flash game</a>. It&#8217;s a flight simulator based on the google maps API that lets you fly around london. Such a cool idea&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2007/04/18/google-goggles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Highly Original Charity</title>
		<link>http://www.tentonnebaby.com/2007/01/24/highly-original-charity/</link>
		<comments>http://www.tentonnebaby.com/2007/01/24/highly-original-charity/#comments</comments>
		<pubDate>Wed, 24 Jan 2007 10:09:53 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[charity]]></category>
		<category><![CDATA[darfour]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://www.embeddedstream.com/2007/01/24/highly-original-charity/</guid>
		<description><![CDATA[I just came across The Darfur Wall site and I&#8217;m really stunned how effective such a simple idea can be. There are 400,000 numbers, one for each person killed in the Darfur genocide. Each dollar donated lights up a random number. You can zoom in or out to get perspective, or view an animation of [...]]]></description>
			<content:encoded><![CDATA[<p>I just came across <a href="http://darfurwall.org">The Darfur Wall site</a> and I&#8217;m really stunned how effective such a simple idea can be. There are 400,000 numbers, one for each person killed in the Darfur genocide. Each dollar donated lights up a random number. You can zoom in or out to get perspective, or view an animation of the lights coming on over time. Go and look.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2007/01/24/highly-original-charity/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getty Visualisations</title>
		<link>http://www.tentonnebaby.com/2006/11/15/getty-visualisations/</link>
		<comments>http://www.tentonnebaby.com/2006/11/15/getty-visualisations/#comments</comments>
		<pubDate>Wed, 15 Nov 2006 14:11:34 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[getty]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://www.embeddedstream.com/2006/11/15/getty-visualisations/</guid>
		<description><![CDATA[I&#8217;ve been thinking quite a lot about ways of visualising related information, and in doing so came across the most stunning interface that I&#8217;ve seen in a long time. There are 2 on this page &#8211; select Information.
I think this is a piece of work that was commissioned by Getty Images. There are 10 different [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking quite a lot about ways of visualising related information, and in doing so came across the <a href="http://interact10ways.com/usa/sumona.asp">most stunning interface</a> that I&#8217;ve seen in a long time. There are 2 on this page &#8211; select <em>Information</em>.</p>
<p>I think this is a piece of work that was commissioned by Getty Images. There are <a href="http://interact10ways.com/usa/index.asp">10 different flavours</a> which are all worth looking at, but this one in particular blew me away.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2006/11/15/getty-visualisations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rocky Rabbit Show</title>
		<link>http://www.tentonnebaby.com/2006/07/12/rocky-rabbit-show/</link>
		<comments>http://www.tentonnebaby.com/2006/07/12/rocky-rabbit-show/#comments</comments>
		<pubDate>Wed, 12 Jul 2006 08:45:37 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[rocky horror]]></category>

		<guid isPermaLink="false">http://www.embeddedstream.com/2006/07/12/rocky-rabbit-show/</guid>
		<description><![CDATA[...However this has to be one of the best creative efforts I've seen for a long time. The Rocky Horror Show enacted by bunnies, in 30 seconds...]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t usually tend to force people to watch amusing things that I stumble across on the internet. However this has to be one of the best creative efforts I&#8217;ve seen for a long time. <a href="http://www.angryalien.com/0705/rhpsbuns.asp">The Rocky Horror Show</a> enacted by bunnies, in 30 seconds.</p>
<p>I haven&#8217;t watched all of these, but there are a few other cool ones. Check out <a href="http://www.angryalien.com/0605/pulpfictionbuns.asp">Pulp Fiction</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2006/07/12/rocky-rabbit-show/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

