This article mainly describes how HTML pages get the Foo parameters such as Test.html?foo=mytest, and how to pass parameters to the SWF in an HTML Web page.
First, use JS to get parameters in HTML Web pages.
We know that HTML pages are executed on the client side, so that the parameters must be obtained using client script (such as JavaScript), which differs from the server-side script fetching parameters.
The following JS code to get HTML page shape such as "Test.html?foo=mytest&program=flash" "?" After all the parameters.
<script language=javascript>
<!--
var hrefstr,pos,parastr;
Hrefstr = window.location.href;
pos = Hrefstr.indexof ("?");
Parastr = hrefstr.substring (pos+1);
if (pos>0) {
document.write ("All Parameters:" +PARASTR);
} else {
document.write ("no parameters");
}
-->
</script>
The following JS code can be more detailed to get an HTML page of a parameter
<script language=javascript>
<!--
function Getparastr (strname) {
var hrefstr,pos,parastr,para,tempstr;
Hrefstr = window.location.href;
pos = Hrefstr.indexof ("?")
Parastr = hrefstr.substring (pos+1);
Para = Parastr.split ("&");
Tempstr= "";
for (i=0;i<para.length;i++)
{
TempStr = Para[i];
pos = tempstr.indexof ("=");
if (tempstr.substring (0,pos) = = strname) {
Return tempstr.substring (pos+1);
}
}
return null;
}
Get program Parameters
var programstr = getparastr ("program");
document.write (PROGRAMSTR);
-->
</script>
Pass parameters to the SWF in the HTML Web page.
Method One: Use js,setvariable in the Web page to set the variables in Flashobject, such as:
"Htmltoswf" is the Flashobject ID in the Web page
Htmltoswf.setvariable ("_root.info_str", "Happy newyear");
Method Two: Path parameters, such as test.swf?foo=happy2005
Method Three: Use Flashvars, the following mainly introduces the usage of flashvars. The Flashobject code for embedding HTML after using Flashvars is as follows:
<object classid= "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase= "http://fpdownload.macromedia.com/pub/ shockwave/cabs/flash/swflash.cab#version=7,0,0,0 "width=" "height=" id= "flashvars" align= "Middle" >
<param name= "allowscriptaccess" value= "Samedomain"/>
<param name= "movie" value= "flashvars.swf"/>
<param name= "Flashvars" value= "foo=happy2005&program=flash&language= Simplified Chinese-China"/>
<param name= "Quality" value= "High"/>
<param name= "bgcolor" value= "#ffffff"/>
<embed src= "flashvars.swf" quality= "High" bgcolor= "#ffffff" width= "" "height=" Name= "Flashvars" "align=" Middle "allowscriptaccess=" Samedomain "flashvars=" foo=happy2005&program=flash&language= Simplified Chinese-China "type=" Application/x-shockwave-flash "pluginspage=" Http://www.macromedia.com/go/getflashplayer "/>
With the above code, you can get Foo, program, and language variable data directly in SWF (FLASHVARS.SWF). Flashvars.fla the code to get the Flashvars parameter is as follows:
Create three text fields
_root.createtextfield ("Foo_txt", 1,0,0,16,16);
_root.createtextfield ("Program_txt", 2,0,32,16,16);
_root.createtextfield ("Language_txt", 3,0,64,16,16);
Foo_txt.autosize = true;
Foo_txt.border = true;
Program_txt.autosize = true;
Program_txt.border = true;
Language_txt.autosize = true;
Language_txt.border = true;
Get Flashvars variable
Foo_txt.text = "Foo parameter in HTML:" +foo;
Program_txt.text = "program parameters in HTML:" +program;
Language_txt.text = "Language parameter in HTML:" +language;
Three, the effective combination of the two.
Use JS in an HTML Web page to get parameters, and then pass the obtained arguments as Flashvars write flashobject to the SWF. The code is as follows:
<script language=javascript>
<!--
function Writeflashobject (PARASTR) {
document.write ("<object classid=" clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 "codebase=" http:// fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0 "width=" "height=" "id=" Flashvars "align=" Middle ">n");
document.write ("<param name=" allowscriptaccess "value=" Samedomain "/>n");
document.write ("<param name=" movie "value=" flashvars.swf "/>n");
document.write ("<param name=" flashvars "value=" "+ Parastr +" "/>n");
document.write ("<param name=" quality "value=" High "/>n");
document.write ("<param name=" bgcolor "value=" #ffffff "/>n");
document.write ("<embed src=" flashvars.swf "quality=" High "bgcolor=" #ffffff "width=" "height=" "Name=" Flashvars "align=" Middle "allowscriptaccess=" Samedomain "flashvars=" "+ Parastr +" "type=" application/ X-shockwave-flash "pluginspage=" Http://www.macromedia.com/go/getflashplayer "/>");
document.write ("</object>");
}
function Getparastr () {
var hrefstr,pos,parastr,para,tempstr1;
Hrefstr = window.location.href;
pos = Hrefstr.indexof ("?")
Parastr = hrefstr.substring (pos+1);
return parastr;
}
var parastr = Getparastr ();
Writeflashobject (PARASTR);
-->
</script>