Friends may think that the problem of Flash embedding is very simple, but when it comes to some specific issues, it is not that simple. For example: How to remove the virtual box that intercepts FLASH in IE browser? Is it compatible with other browsers such as FF, OP, and NS? Does the code comply with W3C standards? ? Wait
I will repost a document from someone else and learn together
1. Traditional method
This method is to use object and embed tag to embed. If you are careful, you will find that many parameters of object and many attributes in embed are repeated. Why do you do this? For browser compatibility, some browsers support object and some support embed. This is why both places must be changed when modifying Flash parameters.
This method has always been the official method of Macromedia, which maximizes the functionality of Flash and has no compatibility issues. But it doesn't work that well now: it fails validation because the embed tag is not compliant with the W3C specification for compatibility reasons. Of course, if you don’t care about the rules or regulations, that’s another matter.
Due to various reasons, Microsoft has restricted the usage mode of IE's ActiveX after sp2. That is, there is a virtual box in the ActiveX on the page, which requires the user to click once for normal interaction. Flash is embedded into the web page as an ActiveX, so it will also be affected. Only embedding Flash through JS can solve this problem.
There is no Flash version detection. If the browser's flash plug-in version is not enough, or it cannot display your swf file normally, or an ActiveX installation confirmation box will pop up?? This box is a problem for many users. Very scary.
2. Method of embedding with JS
Embedding with JS means each has its own embedding method, some are good and some are not good. Some people use document.write to write directly. To be honest, this method is not very good. It feels like there are too many hack elements, which means verification for the sake of verification, and it does not reflect any advantages of JS. I think a good JS embedded script, on the basis of ensuring the functions that Flash should have, should have version detection to take advantage of JS, and should be able to solve accessibility problems (that is, when users cannot browse Flash content or disable How should it be handled when using JS) and should be easy to reuse.
What we are going to talk about here is the SWFObject solution:
"SWFObject" uses Javascript to insert flash, which has many benefits, the code is simple, and there will be no "Click here to activate" under IE6 Control" prompt, and can pass W3C verification. It is different from the traditional "object" method of inserting flash.
In the new 2.x version, the simplest call to SWFObject only requires one sentence, and there is no need to wait for the page to load, which means you can write this sentence anywhere on the page . It is much simpler than the previous version. Let’s take a look at a few simple and commonly used calling methods:
1. The simplest and most basic, a classic sentence that can be used as long as you want to insert flash.
< div id ="swfid" > div >
< script type ="text/javascript" src ="swfobject.js" > script >
< script type ="text/javascript" >
swfobject.embedSWF( " test.swf " , " swfid " , " 300 " , " 120 " , " 9.0.0 " , " expressInstall.swf " );
script >
Annotation: Call the method embedSWF?? to insert a SWF file. The parameters are the address of the @swf file; @the id of the container (such as div) used to load the swf file; the width of @flash; the height of @flash (of course , the width and height here can be expressed by percentages such as 100%); @The minimum version required to play the flash normally; @When the version is lower than the requirement, execute the swf file, here use this flash to jump to the official Download the latest version of the flash plug-in. (This parameter can be omitted) When inserting multiple flashes into different locations on the same page, just repeat the above statement and use different container IDs.
2. Calling method to pass parameters, variables and attributes to swf file
< script type ="text/javascript" src ="swfobject.js" >< / script >
name2: " world " ,
name3: " foobar "
};
var params = {
menu: " false "
}; 🎜> id: " dynamicContent2 " ,
00 " , " 120 " , " 6.0.0 " , " expressInstall.swf " , flashvars, params, attributes);
// 2. Traditional initialization settings, the effect is the same
var flashvars = {};
flashvars.name1 = " hello " ;
flashvars.name2 = " world " ;
flashvars.name3 = " foobar " ;
var params = {};
params.menu = " false " ;
var attributes = {}; 0 " , " 6.0.0 " , " expressInstall.swf " , flashvars, params, attributes);
// 3. Write directly at the back, just one sentence, concise and powerful, not sloppy
swfobject.embedSWF( " test6_flashvars. swf " , " content5 " , " 300 " , " 120 " , " 6.0.0 " , " expressInstall.swf " , {name1: " hello " ,name2: " world " ,name3: " foobar " }, {menu: " false " }, {id: " dynamicContent5 " ,name: " dynamicContent5 " });
script >
SWFObject google open source project http://code.google. com/p/swfobject/
SWFObject (version 2.2) Download address: http://swfobject.googlecode.com/files/swfobject_2_2.zip
SWFObject (version 2.0) Download address: http://swfobject.googlecode .com/files/swfobject_2_0.zip
SWFObject’s official Blog: http://blog.deconcept.com/swfobject/
SWFObject 2.0 official documentation (Chinese) http://www.admin10000.com/resource/ 1.html
comes from http://www.admin10000.com/Document/5.html