HTML嵌入SWF教程

HTML嵌入SWF两种方式
  • 采用SWFObject.js(依赖swfobject.js)
<script type="text/javascript"> 
    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;"); 
</script>
  • 采用<object/>标签
<object id='mySwf' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' height='100%' width='100%'>
        <param name='src' value='FlashVarTest.swf'/>
        <param name='flashVars' value='firstname=Nick&lastname=Danger'/>
        <embed name='mySwf' src='FlashVarTest.swf' height='100%' width='100%' flashVars='firstname=Nick&lastname=Danger'/>
    </object>
  • flashContent 是一个div
<div id="flashContent">
    <p>
    当浏览器没有安装FlashPlayer的时候,显示此内容。(PS:一般在这里面加上FlashPlayer下载提示和下载地址(可以自定义内网地址))
    </p>
    <p>
    To view this page ensure that Adobe Flash Player version 
    ${version_major}.${version_minor}.${version_revision} or greater is installed. 
    </p>
    <script type="text/javascript"> 
    var pageHost = ((document.location.protocol == "https:") ? "https://" : "http://"); 
    document.write("<a href='http://www.adobe.com/go/getflashplayer'><img src='" 
            + pageHost + "www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a>" ); 
    </script> 
</div>
HTML 往SWF中传参数
  • SWObject方式
    var flashvars = {}; 
    flashvars.firstname = "Nick"; 
    flashvars.lastname = "Danger"; 
    swfobject.embedSWF( 
        "FlashVarTest.swf", "flashContent", "100%", "100%", "", 
        "", flashvars,{},{}); 
  • object标签方式
<object id='mySwf' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' height='100%' width='100%'>
        <param name='src' value='FlashVarTest.swf'/>
        <!-- 传参数,必须满足URL编码格式 -->
        <param name='flashVars' value='firstname=Nick&lastname=Danger'/>
        <embed name='mySwf' src='FlashVarTest.swf' height='100%' width='100%' flashVars='firstname=Nick&lastname=Danger'/>
    </object>
  • 通用的URL传参方式
//swfobject
swfobject.embedSWF(
               "FlashVarTest.swf?firstname=Nick&lastname=Danger",
               "flashContent", "100%", "100%",
               swfVersionStr, xiSwfUrlStr,
               flashvars, params, attributes);
//<object>
<object id='mySwf' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' height='100%' width='100%'>
       <param name='src' value='FlashVarTest.swf?firstname=Nick&lastname=Danger'/>
</object>
  • 服务器页面动态传参
  • JSP
<%
   String fName = (String) request.getParameter("firstname");
   String lName = (String) request.getParameter("lastname");
%>
<script type="text/javascript">
           var swfVersionStr = "0";
           var xiSwfUrlStr = "";
           var flashvars = {};
           flashvars.firstname = "<%= fName %>";
           flashvars.lastname = "<%= 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);
       </script>
  • php
<?php 
    @ $fName = $_GET['firstname']; 
    @ $lName = $_GET['lastname']; 
?> 
<script type="text/javascript"> 
    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;"); 
</script>
SWF 中获取参数
  • 获取指定参数值
    FlexGlobals.topLevelApplication.parameters.firstname
  • 通过for .. in遍历所有的属性名称和属性值
for (var att:String in FlexGlobals.topLevelApplication.parameters) {
      trace( att + ":" + FlexGlobals.topLevelApplication.parameters[att] );
 }
  • Flex 中获取参数的完整示例
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
xmlns:s="library://ns.adobe.com/flex/spark" 
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
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";
}
]]>
</fx:Script>
<fx:Declarations>
    <!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:VGroup width="100%">
    <s:HGroup width="100%">
        <s:Button label="获取firstName参数值" click="button2_clickHandler(event)"/>
        <s:Button label="遍历参数中所有的属性名称和属性值" click="button3_clickHandler(event)"/>
    </s:HGroup>
    <s:Label text="输出日志:"/>
    <s:TextArea id="log" width="100%" />
</s:VGroup>
</s:Application>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345

推荐阅读更多精彩内容