首页 > 设计 > WEB开发 > 正文

22.1.调用JavaScript函数

2023-08-14 18:53:54
字体:
来源:转载
供稿:网友
问题
我想用ActionScript调用JavaScript 函数
解决办法
使用ExternalInterface.call( ).
讨论
ExternalInterface.call( ) 方法采用异步调用JavaScript函数的机制,call( ) 方法至少需要一个参数来指明javascript函数名称:
+展开
-ActionScript
ExternalInterface.call("changeTitle");

在HTML页面中定义该函数:
+展开
-HTML
<script language="JavaScript">
function changeTitle(title) {
if(title == undefined) {
title = "New Title";
}
window.title = title;
}
</script> 

如果JavaScript函数本身需要参数,在call( )方法参数中继续添加,例如,changeTitle( ) 函数接受一个参数:
+展开
-ActionScript
ExternalInterface.call("changeTitle""ActionScript 3.0 Cookbook");

因为call( ) 是异步调用,不会立即返回结果,我们可以把返回结果保存到变量里:
+展开
-ActionScript
var title:String = ExternalInterface.call("getTitle");

JavaScript 函数代码如下;
+展开
-HTML
<script language="JavaScript">
function getTitle( ) {
return window.title;
}
</script> 

ExternalInterface 支持以下浏览器:
Internet Explorer 5.0+ (Windows)
Netscape 8.0+ (Windows and Mac OS X)
Mozilla 1.7.5+ (Windows and Mac OS X)
Firefox 1.0+ (Windows and Mac OS X)
Safari 1.3+ (Mac OS X)

如果ExternalInterface 不支持浏览器, 而你又想调用JavaScript 函数, 还可使用flash.net.navigateToURL( ) 函数。
navigateToURL( ) 函数是异步调用,还有它没有返回值,调用JavaScript函数还须用flash.net
URLRequest对象进行包装,下面的例子调用JavaScript alert( ) 函数:
+展开
-ActionScript
var request:URLRequest = new URLRequest("javascript:alert('example');");
navigateToURL(request);
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表