JavaScript调用swf中函数
The ExternalInterface API
之前我们使用flash调用javascript函数,一般使用这样的方法:
代码:
getURL(“javascript:alert(‘hello zhang-chao.com’);”); //注意字符串 双引号 里面加单引号
但是使用这种方法从flash调用javascript函数仍存在许多困难。特别是在处理多个javascript函数调用问题上。ExternalInterface API可以与javascript实现无缝调用,并且它的能力达到可以在flash时间线使用。
在我们正式进入它的使用方法之前,我们需要确保在flash时间上可用,就要导入它的类向这样:
代码:
import flash.external.*;
现在它已经允许我们做的第一件事就是可以调用javascript函数了。
Call 调用方法
call方法对于ExternalInterface对象来说是一个静态方法,也就是说我们不需要使用ExternalInterface对象的实例来调用方法,我们可以直接通过对象类来调用,向这样:
代码:
ExternalInterface.call(functionName:String,Parameters);
这个方法有两个参数:
· functionName – 你想要调用的javascript函数名要以字符串的形式
· Parameters – 需要传递给javascript函数的参数,用逗号分开,是可选的。
这些是基本的内容,现在让我们来看一个例子:
1. 创建一个flash文档命名为external1.fla.
2. 创建两个层上面的层命为AS,下面的层命名为”内容”
3. 在内容层里面,创建一个文本域,将它设置为输入文本域,打开显示边框以方便你能看到,并给它取个名字为alert_txt,将它放在场景的左边。
4. 仍然在内容这一层上,拖动一个按钮组件于场景中并把它放在动态文本的右边,设置它的label为”Alert”并给它起个名字为alert_butn.
5. 选择上方的as层在第一帧上输入代码,
6. //调用alert
7. 代码:
import flash.external.*;
alert_butn.clickHandler = function() {
ExternalInterface.call("alert", alert_txt.text);
}
前面部分的代码是导入ExternalInterface类包。然后为按钮组件设置事件,当点击时调用javascript函数,并将文本
相关文档:
RegExp对象(至今为止我看到过的最通俗易懂和深入的正则表达式教程)
JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例。有两种方式可以创建RegExp对象的实例。
使用RegExp的显式构造函数,语法为:new RegExp("pattern"[,"flag ......
在实际应用中,可能会碰到这样的情况,需要在Java代码中执行JavaScript。
例如:
import java.io.IOException;
import java.io.PrintWriter;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public cl ......
去除字符串左右两端的空格,在
vbscript
里
面可以轻松地使用
trim
、
ltrim
或
rtrim
,但在
js
中却没有这
3
个内置方法,需要手工编写。下面的实现方法是用到了正则表达式,效率不错,并把这三个方法加入
String
对象的内置方法中去。
<mce:script type="tex ......
日前,Mozilla 的 Arun Ranganathan 向 W3C 提交了一个草案,旨在推出一个 JavaScript API,让
JavaScript 脚本直接操作本地文件,Firefox 的最新浏览器版本中已经对该 API 提供了大量的支持,不过出于安全考虑,该API
将只对本地文件提供有限的访问。
该 API 引入了一个 FileReader 对象,可以异步加载本地文件系统中的 ......
"#"包含了一个位置信息
默认的锚点是#top 也就是网页的上端
而javascript:void(0) 仅仅表示一个死链接
这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首,而javascript:void(0) 则不是如此
所以调用脚本的时候最好用void(0)
或者<input onclick>
<div onclick>等
打开新窗口链接的几种办法 ......