作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 AS3 新手,想从 javascript 触发 as3 函数。
AS3
package code {
import flash.display.MovieClip;
import flash.external.ExternalInterface;
import flash.text.TextFormat;
public class Main extends MovieClip {
public function Main() {
ExternalInterface.addCallback("changesize", this.setStyle);
}
protected function setStyle() {
var tf:TextFormat = new TextFormat();
tf.size = 15;
editabletext.setTextFormat(tf);
}
}
}
html
<html><head>
<meta charset="UTF-8">
<title>animator</title>
<style type="text/css" media="screen">
html, body { height:100%; background-color: #ffffff;}
body { margin:0; padding:0; overflow:hidden; }
#flashContent { width:100%; height:100%; }
</style>
</head>
<body>
<div id="flashContent">
<object type="application/x-shockwave-flash" data="animator.swf" width="550" height="400" id="animator" style="float: none; vertical-align:middle">
<param name="movie" value="animator.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#ffffff">
<param name="play" value="true">
<param name="loop" value="true">
<param name="wmode" value="window">
<param name="scale" value="showall">
<param name="menu" value="true">
<param name="devicefont" value="false">
<param name="salign" value="">
<param name="allowScriptAccess" value="always">
<a href="http://www.adobe.com/go/getflash">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player">
</a>
</object>
</div>
<script type="text/javascript">
var animator = document.getElementById('animator');
animator.changesize();
</script>
</body></html>
animator.changesize()
给我 Uncaught TypeError: animator.changesize 不是一个函数
我还尝试在 sameDomain
和 always
之间更改允许脚本访问。似乎都不起作用
最佳答案
这是一个时间问题。仅当 Flash Player 加载 SWF 并且执行 Main
构造函数后,回调才会添加到 DOM,但您试图在解析 DOM 时立即调用它。
由于 DOM 始终会在加载 SWF(并添加回调)之前进行解析,因此您不应假设 SWF 回调始终存在并准备好被调用。相反,SWF 应该在准备好时调用 JS。
关于javascript - 外部接口(interface)回调未定义 AS3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31309506/
我是一名优秀的程序员,十分优秀!