html 利用swfobject.js插入swf,有没有方法设置初始化内容显示为100%,

如题所述

现在大多数浏览器的flash player版本都比较高,就直接用actionscript3.0代码了
用到的知识as3
navigateToURL()可以用来打开一个新的浏览器窗口,也可以用来flex和js之间的通信。
ExternalInterface 类是用来支持在 ActionScript 和 SWF 容器(例如,含有 JavaScript 的 HTML 页或使用 Flash Player 播放 SWF 文件的桌面应用程序)之间进行直接通信的应
此功能替代 fscommand() 方法。

用到的知识html/js/jquery
直接用Dreamweaver插入swf会生成一大堆难懂的代码,很不雅观,所以推荐用jquery和
jquery.swfobject.js //注jquery用来插入swf文件的插件
首先打开flash 文件->新建 ->actionscript3.0
2、新建两个元件一个用来打开网页() 一个用来调用html中的js函数
别名分别叫tobaidu和tojs 好了。
3、新建一个图层插入空白关键帧 在帧上以下代码\

import flash.external.ExternalInterface;
tobaidu.addEventListener(MouseEvent.CLICK,clickHandle);//给元件绑定点击事件,打开百度
tojs.addEventListener(MouseEvent.CLICK,callHtmlJS);

function clickHandle(e:MouseEvent):void{//给元件绑定点击事件,调用js函数
var url:URLRequest = new URLRequest(");
navigateToURL(url,"_blank");
}

function callHtmlJS(e:MouseEvent):void{
ExternalInterface.call("show");
}
最后保存。

再在相同目录新建一个html文件用来插入刚才的生成的swf文件
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>flash as3打开网页并调用js中的函数</title>
<script type="text/javascript" src="/source/js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="/source/js/jquery.swfobject.1-1-1.min.js"></script>
<script type="text/javascript">
$(function(){
var flashMovie = $('#myFlashVars');
flashMovie.flash(
{
// test_flashvars.swf is the flash document
swf: '/ewebjs.swf',
width: 800,
height: 600,
play: false,
flashvars: {
message: 'I come from Flash.'
},
}
);
});
function show(){
alert('我是给as3调用的show函数');
//location.reload();
};
</script>
<style type="text/css">
#myFlashVars{width:800px; height:900px; border:1px #006666 solid;}
</style>
</head>

<body>
<div id="myFlashVars"></div>
</body>
</html>

swf文件和html放在同一目录,如果本地调试,最好安装有本地开发环境,比如
wampserver,xampp或是iis也行,用localhost/xx.html这样子调试
具体代码可以看附件追问

虽然不是我要答案,不过,感谢你的回答,谢了

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答