当前位置: 首页 > 工具软件 > SWFObject > 使用案例 >

swfobject介绍

仲孙经赋
2023-12-01

原文链接:http://randi0624.iteye.com/blog/1544912

语法介绍:
swfobject.embedSWF(swfUrl, id, width, height, version,
   expressInstallSwfurl, flashvars, params, attributes, callbackFn)

一共10个参数,其中前5个为必须,后5个为可选,各参数说明如下:

  • swfUrl:(字符类型,必选)要加载的 swf 文件的 URL 地址;
  • id :(字符类型,必选)加载 swf 文件的 HTML 容器(div)的id 标识,必须页面唯一;
  • width,height:(字符类型,必选)加载 swf 文件的 HTML容器(div)的宽高;
  • version:(字符类型,必选)指定加载 swf 文件的最低 Flash Player 版本号,格式:"major.minor.release" or "major";
  • expressInstallSwfurl:(字符类型,可选)当版本低于要求时,执行该swf文件,这里利用这个flash跳转到官方下载最新版本的flash插件;
  • flashvars:(对象类型,可选)使用 name:value 的形式指定 swf 文件的入口参数;
  • params:(对象类型,可选)使用 name:value 的形式指定加载 swf 文件时的 Flash 参数;
  • attributes:(对象类型,可选)使用 name:value 的形式指定 swf 对象的属性;
  • callbackFn:(Javascript函数,可选)指定一个回调函数,这个回调函数无论加载 swf 文件成功或失败都会调用;

常用的 Flash 参数:

  • play:是否立即自动播放,当加载完毕后,可选值:true、false;
  • loop:是否循环播放,可选值:true、false;
  • menu:是否启用右键菜单,可选值:true、false;
  • quality:指定影片质量,可选值:low、autolow、autohigh、medium、high、high;
  • scale:当 width 和 height 值是百分比时,定义应用程序如何放置在浏览器窗口中,可选值:showall、noborder、exactfit;
  • salign:(可选)指定缩放的 Flash SWF 文件在由 width 和 height 设置定义的区域内的位置,可选值:L、R、T、B、TL、TR、BL、BR;
  • wmode:(可选)允许使用 Internet Explorer 4.0 中的透明 Flash 内容、绝对定位和分层显示功能。此标记/属性仅在带有 Flash Player ActiveX 控件的 Windows 中有效,可选值:Window、Opaque、Transparent;
  • bgcolor:背景颜色,格式:#RRGGhttp://randi0624.iteye.com/admin/blogs/newBB;
  • base:基准连接地址;
  • allowscriptaccess :使用 allowscriptaccess 使 Flash 应用程序可与其所在的 HTML 页通信。此参数是必需的,因为 fscommand() 和 getURL() 操作可能导致 JavaScript 使用 HTML 页的权限,而该权限可能与 Flash 应用程序的权限不同。这与跨域安全性有着重要关系,可选值:always、never、samedomain;
  • seamlesstabbing:(可选)允许设置 ActiveX 控件执行无缝跳格,从而使用户能跳出 Flash 应用程序。该参数只能在安装 Flash Player ActiveX 控件版本 7 及更高版本的 Windows 中使用。可选值:true、false;

带脚本参数的加载方式(JSON方式):

    var flashvars = {name1:"hello",name2:"word"};  
      
    var params = {menu:"false"};  
      
    var attributes = {id:"myContent",name:"myContent"};  
      
    swfobject.embedSWF("myContent.swf","myContent","300","120",  
                      "10.0.0","expressInstall.swf",flashvars,params,attributes)    

当flash加载好后,js调用flex中的函数:

//调用flash方法;myContent为swfobject对象的id;flash为flex中的方法  
//注:在flex中flash初始化时需要注册方法  
//ExternalInterface.addCallback("flash",flash);  
function go_to_flash(){  
  thisMovie("myContent").flash(a,b,c);  
}  
  
//搭建js与flash互通的环境  
function thisMovie(movieName) {  
  if (navigator.appName.indexOf("Microsoft") != -1) {  
     return window[movieName]  
  }else{  
     return document[movieName]  
  }  

 类似资料: