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 -~----------~----~----~----~------~----~------~--~---
