Trying to weed through the bs here and find a soltuion(s) for you all.
<a href=”http://msdn.microsoft.com/ieupdate/activexchanges.asp#related_topics”>MSDN Article</a>
My manager found the link Microsoft has for explaining exactly how the changes work in the new IE and how to work “around” them. You just set the new attribute for the object tag, NOEXTERNALDATA=”true”, and your good to go, even if your object tag has param tags. The issue is, if your param tags use external data not on your site, then that data won’t work.
If that’s all there is too it, then it certainly won’t affect anything I’ve ever done, and I suspect a lot of the disinformation out there is causing people to “fix” things that don’t need to be fixed. They outta test in the new browser before they do so. Just to add to the validity of this, I tested in the new IE browser beta side-by-side with the old IE. Below are the results.
:: tests ::
Uh… ok, Microsoft’s solutions don’t work. Below is the code which I’ll tear apart in the following paragraphs.
pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="200" height="200" align="
<param name="movie" value="https://www.jessewarden.com/friends.swf" /><br>
param name="allowScriptAccess" value="sameDomain" /><br>
param name="quality" value="high" /><br>
param name="wmode" value="transparent" />
<embed src="https://www.jessewarden.com/friends/friends.swf" width="200" height="200" align="middle" quality="high" wmode="transparent" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"
Alrigth, first off, my param tags are not external content. My site is hosted on www.jessewarden.com, and my Flash file is on www.jessewarden.com. However, setting NOEXTERNALDATA to true prevents the SWF from ever being loaded… IE just hangs there indeifinately (the new beta one).
The article cleary states, “If the OBJECT element used to load the control contains PARAM elements but none of the PARAM elements specify a source of data external to the current Web page, then the control does not access remote data.”
The example they give references the URL property. Funny, if I comment out EVERYTHING (I actually removed because the comments showed up in one of my tests), I get the Flash object, but the blank white screen when there is no Flash movie target.
object NOEXTERNALDATA="false" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="200" height="200" align="middle">
<param name="movie" value="friends.swf" />
This tells me that the article is correct; if something DOES reference an external piece of data, basically the object doesn’t get the variable. In this case, Flash never got the “movie” property, therefore the SWF was never loaded. So, yes, the Flash object shows up, but no Flash movie gets loaded. I tried derivates using codebase and classID above; adding them and removing them, all failed. Tried uncommenting certain params, even tried using src instead of movie, still no dice.
There was one instance when I removed the embed, and kept the classid it worked, but all the 10 other tests I did didn’t, therefore leading me to believe it was a fluke, and a cache issue.
As stated, I removed the classid and codebase attributes together, seperately, etc. making as many different combinations I could think of; commenting out params, deleting the params instead of commenting out, leaving the embed tag in the first instances, and deleting it to test; all failed.
Therefore, here are my conclusions.
1) The Flash param tag “movie”, even if relative or hardcoded to the same domain, the new IE still interprets as external to the domain. Therefore, unless this is solved, there is no way to use this solution for 2 reasons: you still have a param tag which prevents you from using rule 1 in the article, and the param tag, even though it may use local data to the web page (whatever that means at this point) the new IE still will interpret as remote, therefore not passing to the Flash object, therefore preventing the Flash object from loading a SWF.
For right now, I’ve got my NOEXTERNALDATA on my site set to false, as at least it consistently works in both browsers. I thought this article was my savior, but I couldn’t get it to work. Then again, I’m a Flash guy, not a web guru.
Even if someone gets the param tag way to work, my <a href=”http://www.erikbianchi.com”>co-worker</a> just told me of something that he read last week that indicates that this is just a proposal. Microsoft’s article is very cool, concise, and neat how they mention “around” in it, hehe, but the issue remains that if EOLAS doesn’t find it acceptable, this whole thing is for naught.
Secondly, the article has a horrible reference to permantly blocking controls. “Using the settings on the Advanced tab on the Internet Options dialog, users can choose to have affected controls blocked by default. When a control is blocked, alternate content is rendered in place of the controls when available, and the user is presented with a notification that the page contains blocked controls. The following image shows the notification that users see when affected controls are blocked.”
Holy phish… if that is somehow turned on, ALL Flash content is not rendered. The user is informed via those annoying text bubbles. Hopefully, most users won’t click it immediately away without reading it like I do and then turn all controls back on to be shown. Thankfully, if it happens again, the bubble itself has a link in it to easily allow the user to not only turn the controls back on, but also to refresh the page: good job Microsoft! Still, this is uncool. I know dynamic web pages are the things of now, but being FORCED to do it this way is kind of dumb. As long as Microsfoft confirms it is the ONLY way, though, is what concerns me, because I tried their first way, and from my tests, it doesn’t work.
At any rate, I really think it may possibly Macromedia who can make the first one work. If they can change the Flash Player enough to read URL variables from the FlashVar’s param tag instead of the sppended ones like they did in the Flash 6 Player, then maybe they can update the Flash 7 Player to do the same thing with the movie param tag. One can only hope.
The war continues…