<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Abusing the ExternalInterface</title>
	<atom:link href="http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/</link>
	<description></description>
	<lastBuildDate>Mon, 07 Nov 2011 12:03:53 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: a_[w]</title>
		<link>http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/comment-page-1/#comment-8560</link>
		<dc:creator>a_[w]</dc:creator>
		<pubDate>Fri, 10 Jun 2011 09:22:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/#comment-8560</guid>
		<description>&lt;p&gt;It runs with interval because this action
ExternalInterface.call(“function() {document.getElementsByTagName(‘body’)[0].innerHTML += ‘dude’; }”);
forces to remove all objects that exists in the body and replaces it with the same content, with &quot;dude&quot; added text to last text node. While executing this script your flash application will be removed and new instance will be placed and it will execute the same code and so on.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>It runs with interval because this action
ExternalInterface.call(“function() {document.getElementsByTagName(‘body’)[0].innerHTML += ‘dude’; }”);
forces to remove all objects that exists in the body and replaces it with the same content, with &#8220;dude&#8221; added text to last text node. While executing this script your flash application will be removed and new instance will be placed and it will execute the same code and so on.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Daley</title>
		<link>http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/comment-page-1/#comment-8252</link>
		<dc:creator>Jeremy Daley</dc:creator>
		<pubDate>Tue, 31 Aug 2010 16:51:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/#comment-8252</guid>
		<description>&lt;p&gt;Sorry. Let me clarify that... What I meant was that both ways of using ExternalInterface.call():&lt;/p&gt;

&lt;p&gt;ExternalInterface.call(&quot;function() {document.getElementsByTagName(&#039;body&#039;)[0].innerHTML += &#039;dude&#039;; }&quot;);&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;ExternalInterface.call(&quot;eval&quot;, &quot;document.getElementsByTagName(&#039;body&#039;)[0].innerHTML += &#039;dude&#039;; &quot;);&lt;/p&gt;

&lt;p&gt;...cause the browser to execute multiple times. Perhaps it has something to do with the DOM changing, I&#039;m not sure.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Sorry. Let me clarify that&#8230; What I meant was that both ways of using ExternalInterface.call():</p>

<p>ExternalInterface.call(&#8220;function() {document.getElementsByTagName(&#8216;body&#8217;)[0].innerHTML += &#8216;dude&#8217;; }&#8221;);</p>

<p>and</p>

<p>ExternalInterface.call(&#8220;eval&#8221;, &#8220;document.getElementsByTagName(&#8216;body&#8217;)[0].innerHTML += &#8216;dude&#8217;; &#8220;);</p>

<p>&#8230;cause the browser to execute multiple times. Perhaps it has something to do with the DOM changing, I&#8217;m not sure.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Daley</title>
		<link>http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/comment-page-1/#comment-8251</link>
		<dc:creator>Jeremy Daley</dc:creator>
		<pubDate>Tue, 31 Aug 2010 16:46:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/#comment-8251</guid>
		<description>&lt;p&gt;I like this article.&lt;/p&gt;

&lt;p&gt;Trying eval() on some JS like this though seems to run multiple times:
document.getElementsByTagName(&#039;body&#039;)[0].innerHTML += &#039;dude&#039;;&lt;/p&gt;

&lt;p&gt;I can&#039;t figure out why. It&#039;s like it runs on an interval or something.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I like this article.</p>

<p>Trying eval() on some JS like this though seems to run multiple times:
document.getElementsByTagName(&#8216;body&#8217;)[0].innerHTML += &#8216;dude&#8217;;</p>

<p>I can&#8217;t figure out why. It&#8217;s like it runs on an interval or something.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Dasa</title>
		<link>http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/comment-page-1/#comment-7257</link>
		<dc:creator>Dasa</dc:creator>
		<pubDate>Thu, 14 Aug 2008 21:03:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/#comment-7257</guid>
		<description>&lt;p&gt;I found another way to make the call:
    var o : Object = ExternalInterface.call(&quot;eval&quot;, &#039;(&#039; + jsonS + &#039;)&#039;);&lt;/p&gt;

&lt;p&gt;In my tests with a 12 KB json string, it&#039;s faster in Safari 3.1, but slower in IE 6, than using the as3corelib.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I found another way to make the call:
    var o : Object = ExternalInterface.call(&#8220;eval&#8221;, &#8216;(&#8216; + jsonS + &#8216;)&#8217;);</p>

<p>In my tests with a 12 KB json string, it&#8217;s faster in Safari 3.1, but slower in IE 6, than using the as3corelib.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Theo</title>
		<link>http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/comment-page-1/#comment-5553</link>
		<dc:creator>Theo</dc:creator>
		<pubDate>Tue, 12 Feb 2008 07:34:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/#comment-5553</guid>
		<description>&lt;p&gt;Yes, this was not a serious proposition, as you can see here: http://blog.iconara.net/2007/02/03/parsing-json-using-externalinterface-follow-up/&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Yes, this was not a serious proposition, as you can see here: <a href="http://blog.iconara.net/2007/02/03/parsing-json-using-externalinterface-follow-up/" rel="nofollow">http://blog.iconara.net/2007/02/03/parsing-json-using-externalinterface-follow-up/</a></p>]]></content:encoded>
	</item>
	<item>
		<title>By: Ed McManus</title>
		<link>http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/comment-page-1/#comment-5542</link>
		<dc:creator>Ed McManus</dc:creator>
		<pubDate>Tue, 12 Feb 2008 00:37:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.iconara.net/2007/01/20/abusing-the-externalinterface/#comment-5542</guid>
		<description>&lt;p&gt;I&#039;d be cautious of using External Interface to parse JSON strings. Complex objects tend to get mangled during Flash&#039;s AMF XML serialization/deserialization process. This is most evident with plug-in versions 9,0,28 and earlier.&lt;/p&gt;

&lt;p&gt;Your best bet is to use Flash&#039;s core library to parse JSON strings. It requires some additional overhead, but not enough to get hung up on.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I&#8217;d be cautious of using External Interface to parse JSON strings. Complex objects tend to get mangled during Flash&#8217;s AMF XML serialization/deserialization process. This is most evident with plug-in versions 9,0,28 and earlier.</p>

<p>Your best bet is to use Flash&#8217;s core library to parse JSON strings. It requires some additional overhead, but not enough to get hung up on.</p>]]></content:encoded>
	</item>
</channel>
</rss>

