We have recently dropped support for IE6 at my job. The other developers have have opted for a generic object embed method:
<object type="application/x-shockwave-flash" data="example.swf" width="800" height="600" >
<param name="movie" value="example.swf">
<param name="allowScriptAccess" value="always">
</object>
This seems to work in all modern browsers but it really rubs me the wrong way. I'm sure this is wrong in several ways and is clearly a big step back in sophistication. So my question is in 2 parts, what is wrong with the above method? Is swfObject still best practice and what issues does it solve (besides IE6 click-activate)? Citations less then a year old would also be helpful.
To answer your question: Yes, SWFObject is still relevant.
SWFObject outputs <object>
elements optimized for IE and for non-IE browsers. (IE 7 & 8 require a different setup than Firefox/Safari/Opera, most notably the data and classid attributes.)
I recommend SWFObject's static publishing method, which validates with the W3C and doesn't require JavaScript (the JS library is an add-on for extras, like Flash Player version detection). Static publishing uses a nested <object>
to ensure cross-browser compatibility.
Learn more at http://learnswfobject.com
PS: "Click to activate" was removed from Internet Explorer in 2007.