关于JS调用AS函数如何兼容FF 谷歌浏览器 IE

ZeroOverture 2012-03-19 09:35:24
AS函数
ExternalInterface.addCallback("hehe",null,hehe);
function hehe(){
return "哈哈";
}

HTML及JS
<object id="MTheme" name="MTheme" type="application/x-shockwave-flash" data="$path/Maid/shell/shell1.swf" width="150" height="236">
<param name="allowScriptAccess" value="always" />
<param name="movie" value="$path/Maid/shell/shell1.swf" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="8.0.35.0" />
<param name="expressinstall" value="Scripts/expressInstall.swf" />
</object>

<script type="text/javascript">
var s=window['MTheme']?window['MTheme']:document['MTheme'];
alert(s.hehe());
</script>

上面的代码在IE能调用成功 但是在 火狐 谷歌 内核中调用不了
请问如何兼容
...全文
304 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
三石-gary 2012-03-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ayxyphz 的回复:]

关于 embed 标签的问题我之前也试过 embed标签 也不行- -
[/Quote]
是那段代码的问题?。。我觉得应该不是HTML的问题。。是Js 的问题?
ZeroOverture 2012-03-20
  • 打赏
  • 举报
回复
关于 embed 标签的问题我之前也试过 embed标签 也不行- -
ZeroOverture 2012-03-20
  • 打赏
  • 举报
回复
我已经解决了 谷歌浏览器 虽然能获取到 obj 和embed对象 但是无法执行函数(不知道啥原因),最后我用
swfobject.embedSWF添加 然后用swfobject.getObjectById 获取的 就支持 各种浏览器了

附上代码
<script type="text/javascript">
var flashvars = false;
var params = {};
params.menu = "false";
params.quality = "autohigh";
params.wmode = "transparent";
params.allowfullscreen = "true";
params.allowscriptaccess = "always";
params.allownetworking = "all";
var attributes = {};
attributes.id = "MTheme";
swfobject.embedSWF("shell1.swf", "flashcontent", "150", "236", "10.0.0", "expressInstall.swf", flashvars, params, attributes);

关于上面的用法和注释大家可以百度swfobject2.0 使用教程

document.onreadystatechange=getswf; //等到网站加载完成再进行获取ID 否则获取到的是NULL
function getswf(){//获取SWF对象
swf=swfobject.getObjectById("MTheme");
}
</script>
孟子E章 2012-03-19
  • 打赏
  • 举报
回复
对了非IE采用的是embed标签。

参见
http://tj007-bo.iteye.com/blog/579836
孟子E章 2012-03-19
  • 打赏
  • 举报
回复
有人说,你需要等一会才能调用
你试试
setTimeout('document.getElementById("MTheme").hehe()',2000);

参见
http://www.psyked.co.uk/actionscript/externalinterface-not-working-in-firefox.htm
的讨论
zyb0318 2012-03-19
  • 打赏
  • 举报
回复
我明天有时间一定要试试
Acesidonu 2012-03-19
  • 打赏
  • 举报
回复
这个没弄过
孟子E章 2012-03-19
  • 打赏
  • 举报
回复
document.getElementById("MTheme")呢

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧