HTML嵌入SWF两种方式
采用SWFObject.js(依赖swfobject.js)
var swfVersionStr = "10.0.0";
var xiSwfUrlStr = "playerProductInstall.swf";
var flashvars = {};
flashvars.firstname = "Nick";
flashvars.lastname = "Danger";
var params = {};
params.quality = "high";
params.bgcolor = "#ffffff";
params.allowscriptaccess = "sameDomain";
var attributes = {};
attributes.id = "TestProject";
attributes.name = "TestProject";
attributes.align = "middle";
//参数说明:embedSWF("SWF路径","嵌入的div的id","宽度","高度","SWF的版本号","player产品安装swf","给SWF的参数")
swfobject.embedSWF(
"FlashVarTest.swf", "flashContent", "100%", "100%", swfVersionStr,
xiSwfUrlStr, flashvars, params, attributes);
swfobject.createCSS("#flashContent", "display:block;text-align:left;");
采用标签
flashContent 是一个div
当浏览器没有安装FlashPlayer的时候,显示此内容。(PS:一般在这里面加上FlashPlayer下载提示和下载地址(可以自定义内网地址))
To view this page ensure that Adobe Flash Player version
${version_major}.${version_minor}.${version_revision} or greater is installed.
var pageHost = ((document.location.protocol == "https:") ? "https://" : "http://");
HTML 往SWF中传参数
SWObject方式
var flashvars = {};
flashvars.firstname = "Nick";
flashvars.lastname = "Danger";
swfobject.embedSWF(
"FlashVarTest.swf", "flashContent", "100%", "100%", "",
"", flashvars,{},{});
object标签方式
通用的URL传参方式
//swfobject
swfobject.embedSWF(
"FlashVarTest.swf?firstname=Nick&lastname=Danger",
"flashContent", "100%", "100%",
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
//
服务器页面动态传参
JSP
String fName = (String) request.getParameter("firstname");
String lName = (String) request.getParameter("lastname");
%>
var swfVersionStr = "0";
var xiSwfUrlStr = "";
var flashvars = {};
flashvars.firstname = "";
flashvars.lastname = "";
var params = {};
params.quality = "high";
params.bgcolor = "#ffffff";
params.allowscriptaccess = "sameDomain";
var attributes = {};
attributes.id = "FlashVarTest";
attributes.name = "FlashVarTest";
attributes.align = "middle";
swfobject.embedSWF(
"FlashVarTest.swf", "flashContent",
"100%", "100%",
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
php
@ $fName = $_GET['firstname'];
@ $lName = $_GET['lastname'];
?>
var swfVersionStr = "";
var xiSwfUrlStr = "";
var flashvars = {};
flashvars.firstname = "<?php echo $fName; ?>"
flashvars.lastname = "<?php echo $lName; ?>"
var params = {};
params.quality = "high";
params.bgcolor = "#ffffff";
params.allowscriptaccess = "sameDomain";
var attributes = {};
attributes.id = "FlashVarTest";
attributes.name = "FlashVarTest";
attributes.align = "middle";
swfobject.embedSWF(
"FlashVarTest.swf", "flashContent",
"100%", "100%",
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
swfobject.createCSS("#flashContent", "display:block;text-align:left;");
SWF 中获取参数
获取指定参数值
FlexGlobals.topLevelApplication.parameters.firstname
通过for .. in遍历所有的属性名称和属性值
for (var att:String in FlexGlobals.topLevelApplication.parameters) {
trace( att + ":" + FlexGlobals.topLevelApplication.parameters[att] );
}
Flex 中获取参数的完整示例
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
import mx.core.FlexGlobals;
protected function button2_clickHandler(event:MouseEvent):void
{
log.text += "firstName:"+FlexGlobals.topLevelApplication.parameters.firstName +"\n";
}
protected function button3_clickHandler(event:MouseEvent):void
{
log.text += "=============开始遍历flashvar对象========\n";
for (var i:String in FlexGlobals.topLevelApplication.parameters) {
log.text += i + ":" + FlexGlobals.topLevelApplication.parameters[i] + "\n";
}
log.text += "=============结束遍历flashvar对象========\n";
}
]]>