Well I guess it’s not really hidden, as much as it’s a tag along to unFocus.History Keeper. I’ve had an interesting (to me anyway) battle in my own head about whether to even continue maintaining SwfHTML and it’s companions SwfCommunicator, and FlashPlayerInfo, since there are many solutions to the problems they address out there already (including ExternalInterface for SwfCommunicator, which is actually built right into Flash Player 8 and up). I even decided a while ago to just stop, and start using SwfObject, UFO, or the new SwfFix (just found that yesterday, looks good!), yet, they are still here and I’m still working on them.
SwfObject, and now SwfFix, are just too integrated for my taste, too monolithic. That is not meant to disparage the work that has gone into those projects, those projects are quite mature, well documented, and widely distributed. It’s just tha tI like my code certain way, and have bent over backwards to keep interdependency down in my scripts, in the name of modularity. This was done originally so that the history portion could be used in combination with other SwfEmbed techniques (like SwfObject) and used with other plugins (Ajax came later, but it works for that too!). Examples of that modularity – History Keeper doesn’t rely on SwfHTML, and SwfCommunicator doesn’t rely on SwfHTML, SwfHTML doesn’t rely on FlashPlayerInfo, which as well as Patent Magic don’t rely on anything. A few of the above rely on unFocus.EventManager, but that’s because the subscriber pattern is just so darn useful.
History Keeper would work nicely right along side SwfFix as well. Wouldn’t complain one bit. 🙂
Anyway, I just wanted to make a quick (re)introduction to these infrequently mentioned tools, even if they are in a bit of rough shape. For simplicity, I’ll lump them all under the category title SwfHTML (even though SwfCommunicator, or FlashPlayerInfo could all be used without the SwfHTML object pretty easily).