So far I've been unsuccessful in getting a license for Adobe Flash CS3 Pro at work, so it's not likely I'll be able to edit the .swf file that we're using. If they ever decide to get me a license to use Flash CS3 Pro, I'll see what I can do with that file, but I'm not too overly concerned with it now. I really appreciate the help, but as I implied earlier, this issue has been resolved so there's no need to worry about it anymore. Kyle's solution is working well.
On Jun 17, 6:50 pm, Aran Rhee <[email protected]> wrote: > Ah... I see I replied too early on the original thread (without reading this > one first). You should still investigate the externalInterface methodology > as if I was wearing my Flash developer hat, this would be the preferred > implemetation over adding/removing. > > Aran > > On Thu, Jun 18, 2009 at 7:34 AM, Tomizechsterson > <[email protected]>wrote: > > > > > Wow, that's a sweet solution. I really appreciate the response, and > > sorry about putting in the wrong subject. I just saw the memory usage > > on the iexplore.exe process skyrocketing while I was using the > > swfobject, so naturally I start panicking. This method does work > > well, thanks! > > > On Jun 17, 1:02 pm, "Getify Solutions, Inc." <[email protected]> wrote: > > > First of all, I believe based on what you wrote that the subject is > > > misleading, as you're not really describing a "memory" leak situation. So > > > I've changed this thread subject to be more on target with your question. > > > > Second, to address your question... There is no underlying "div" to > > > preserve, because once you target a div with embedSWF, the div is > > > *replaced*, not appended to. This means that the only way to remove the > > swf > > > from the DOM is to completely remove it, which has the destructive effect > > of > > > now having removed any trace of what you originally targeted and > > replaced. > > > > Most people who ask this question, in regards to cycling through > > > embedSWF()/removeSWF() repetitions, find it easiest to instead have a > > > container div that you drop placeholder divs into on-the-fly before > > calling > > > embedSWF to replace them with an OBJECT. > > > > So, for instance: > > > > <script> > > > function recycleSWF(swfID) { > > > swfobject.removeSWF(swfID); > > > $("<div></div>").attr("id",swfID).appendTo("#myholder"); // jquery > > > used for simplicity sake, can be done a number of ways > > > swfobject.embedSWF("my.swf",swfID,...);} > > > > ... > > > // on some event, like a button click: > > > recycleSWF("myobj"); > > > ... > > > </script> > > > > <body> > > > <div id="myholder"> <!-- will get continually get a div placeholder > > thrown > > > into it and then replaced by the SWF --> </div> > > > </body> > > > > This method should work pretty solidly for you, and shouldn't have any > > > memory leak issues. Just take slight extra care to make sure your CSS > > > accounts for an extra container div around your swf elements. > > > > --Kyle > > > > -------------------------------------------------- > > > From: "Tomizechsterson" <[email protected]> > > > Sent: Wednesday, June 17, 2009 2:38 PM > > > To: "SWFObject" <[email protected]> > > > Subject: memory leak in IE7 with swfobject 2.2 > > > > > It seems like there's still something not right about the way this > > > > object handles memory. Our web app uses swfobject to display a flash > > > > module that allows the user to view an image and manipulate it with > > > > pan, zoom, etc. The way this works is by calling swfobject.embedSWF, > > > > getting the object with swfobject.getObjectById, and calling a > > > > function within that returned object passing in the url of the image > > > > to display. > > > > > There doesn't appear to be any function to call that can clear the > > > > swfobject from memory, and allow it to be recreated again later. > > > > swfobject.removeSWF appears to eliminate the div that houses it > > > > entirely, making any subsequent calls to swfobject.embedSWF have no > > > > effect, which in turn makes the object returned from > > > > swfobject.getObjectById return a null object. > > > > > Would there be a way to add functionality to swfobject to dispose of > > > > it, but keep the underlying div element intact, to allow for re- > > > > embedding? Unless there's another way to do this, which I'm foolishly > > > > missing, of course.. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "SWFObject" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/swfobject?hl=en -~----------~----~----~----~------~----~------~--~---
