[Flash]flash cs3生成网页的flash插入方法研究

先来看看flash自动生成的网页是如何插入flash文件的:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh_cn" lang="zh_cn">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>test</title>
<scrīpt language="javascrīpt">AC_FL_RunContent = 0;</scrīpt>
<scrīpt src="AC_RunActiveContent.js" language="javascrīpt"></scrīpt>

<style type="text/css">
<!–
body {
 background-color: #999900;
}
–>
</style></head>
<body>
<!–影片中使用的 URL–>
<!–影片中使用的文本–>
<!–
eee
–>
<!– saved from url=(0013)about:internet –>
<scrīpt language="javascrīpt">
 if (AC_FL_RunContent == 0) {
  alert("此页需要 AC_RunActiveContent.js");
 } else {
  AC_FL_RunContent(
   'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
   'width', '550',
   'height', '400',
   'src', 'test',
   'quality', 'high',
   'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
   'align', 'middle',
   'play', 'true',
   'loop', 'true',
   'scale', 'showall',
   'wmode', 'transparent',
   'devicefont', 'false',
   'id', 'test',
   'bgcolor', '#666666',
   'name', 'test',
   'menu', 'true',
   'allowFullScreen', 'false',
   'allowscrīptAccess','sameDomain',
   'flashvars','txt=wwwww',
   'movie', 'test',
   'salign', ''
   ); //end AC code
 }
 function sendvar(){
  test.style.height=500;
  test.SetVariable("mv","kkkkkk")
  }
</scrīpt>
<noscrīpt>
 <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="550" height="400" id="test" align="middle">
 <param name="allowscrīptAccess" value="sameDomain" />
 <param name="allowFullScreen" value="false" />
 <param name="movie" value="test.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#666666" /
><embed src="test.swf" quality="high" bgcolor="#666666" width="550" height="400" name="test" align="middle" allowscrīptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
 </object>
</noscrīpt>
 <br>
 <label>xxx
 <input type="submit" name="Submit" value="提交" ōnClick="sendvar()">
 </label>

</body>
</html>
这个网页插入flash共使用了3种方式,应对各种情况,尽可能使swf文件在各种情况、各种浏览器中都能够正常显示运行。

先来看看第一种情况:
最开始使用javascrīpt插入swf文件,这种方式兼容性最好,可以同时兼容IE内核的浏览器及FireFox 浏览器,而且这种插入方式可以避免IE中控件激活框的出现,非常实用。这段自动生成的代码包含的内容很丰富,你可以在其中任意添加IE或者其他浏览器使用 的参数,例如:
'name', 'test',
'id', 'test',
这个是javascrīpt引用swf文件的变量名,使javascrit可以直接对该swf文件进行操作,其中IE只使用id变量就可以了,name变量是针对embed插入方式FireFox使用的。

虽然javascrīpt的插入方式优点多多,但是一旦用户禁用了javascrīpt,就不行了。下面说说第二种方式:
删除所有的javascrīpt代码(同时删除<noscrīpt>和</noscrīpt>)。
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0
" width="550" height="400" id="test" align="middle">
 <param name="allowscrīptAccess" value="sameDomain" />
 <param name="allowFullScreen" value="false" />
 <param name="movie" value="test.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#666666" />
这是IE使用的flash文件插入方式,如果只使用了这段代码,IE可以正常显示,但是FireFox就不能显示了。

第三种,embed插入方式
<embed src="test.swf" quality="high" bgcolor="#666666" width="550" height="400" name="test" align="middle" allowscrīptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer
" />
这种方式IE和FireFox都可以正常显示

第二种和第三种的参数解释可以参考下面的文章
http://space.flash8.net/space/?246908/action_viewspace_itemid_408019.html

就算不使用javascrīpt,后面两种flash插入方式也可以通过htm页面向flash传递变量:

1、object插入方式:
增加参数:<param name="flashvars" value="mv=hello!"> 

2、embed插入方式:
在后面加入: flashvars="mv=hello!"

通过以上两种方式,flash都可以收到一个变量名为“mv”的变量,内容为“hello!" 。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏