惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
Cloudbric
Cloudbric
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
宝玉的分享
宝玉的分享
I
Intezer
Simon Willison's Weblog
Simon Willison's Weblog
博客园_首页
The Cloudflare Blog
C
Cisco Blogs
AWS News Blog
AWS News Blog
IT之家
IT之家
Cyberwarzone
Cyberwarzone
罗磊的独立博客
美团技术团队
V
V2EX
Project Zero
Project Zero
A
Arctic Wolf
C
Cyber Attacks, Cyber Crime and Cyber Security
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
有赞技术团队
有赞技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
S
Schneier on Security
P
Privacy International News Feed
V
Visual Studio Blog
量子位
T
Tor Project blog
S
Securelist
腾讯CDC
A
About on SuperTechFans
T
Threat Research - Cisco Blogs
G
GRAHAM CLULEY
B
Blog RSS Feed
D
DataBreaches.Net
博客园 - 三生石上(FineUI控件)
B
Blog
NISL@THU
NISL@THU
L
Lohrmann on Cybersecurity
V
Vulnerabilities – Threatpost
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
L
LINUX DO - 热门话题
Recorded Future
Recorded Future

博客园 - Chris Liu

XP远程桌面连接强制登录 Oracle 存储过程基础 [原]做报表,写Sql语句的一点收获 [原]如何将flash插入到Excel文件中 [原]Excel与OWC做报表总结 [原]OWC做电子表格和图表的试验 [原]用Excel做报表的试验 [原]Winform自定义控件在网页上的应用 [转]微软面试100题——要想成为盖茨就来试试! 《ActionScript 3 CookBook 简体中文完整版》下载 [原]flash研究(二)——与asp.net服务交互(访问数据库) [原]Flash研究(一)——本地通讯 [转]ORACLE PL/SQ入门 [原]反射学习整理 事件的实现过程 C#基础—— check、lock、using语句归纳 Geoserver汉语版出来啦!! [原]回调实现步骤 [原]Web Service学习
[原]flash研究(三)——Falsh与JavaScript交互
Chris Liu · 2008-01-02 · via 博客园 - Chris Liu

一、getURL方法
flash中可以用getURL方法来调用JS中的函数。

例:

上面例子是点击按钮在新窗口中打开当前网页,用getURL直接将JS代码作为参数写在flash中。也可以使用 GET POST 发送变量。下面的示例使用 GET 将变量追加到 URL

注:
1)        当使用 getURL() 调用 JavaScript 时,url 参数最多只能包含 508 个字符。
2)        只有将falsh发布到网页上面,此方法才有效,直接在swf文件中调会报异常。

二、ExternalInterface接口

1)        addCallback(methodName:String, instance:Object, method:Function) : Boolean
注册一个被js调的as方法。

methodName:从js中调用 as 函数时使用的名称。此名称不必与 as 方法的实际名称匹配。
instance:在该方法中被解析成的对象。此对象不一定是在其上可找到该方法的对象,可以指定任何对象(或 null)。
method js中调用的 as方法。

2)        call(MethodName:String, [Parameters:Object]) : Object
flash中直接调用一个js函数。

这个方法有两个参数:
MethodName:你想要调用的javascript函数名要以字符串的形式。
Parameters:需要传递给javascript函数的参数,用逗号分开,是可选的。

三、实例

下面是在网上找的一个实例,加入了本人的整合、说明:

Flash代码:

网页代码:

运行效果:

点击“GetURLJS”按钮,效果:

代码比较简单,有注释,就不分析了。

注:

1)        例子中getElementByIdIE的方法,如果换成其它浏览器,不一定能运行出效果,所以最好用下面的方法:

2)        承载flashhtml文件在本地运行会报错

点击是调试,调试代码如下:

    在网上查了一下,遇到这个问题的人相当多,也给出了一些解决的方法,我试了都没用,发布一下用http://地址浏览就没任何问题了。原因我也不是很清楚。有 高手知道,欢迎分享。

四、扩展

在做flashjs交互时遇到了这么一个问题:我要在调用承载flashhtml页面时,通过URL将参数传递给html页面,html在加载flash时通过调用flash中的方法将参数传进flash来初始化flash。但这样每次在调用flash方法的时候都报异常说,对象或方法不可用(IE7中做的测试),原因是flash还没有加载上,当然不能调用其中的方法了,延时处理一下就好了。

例:

    FlashJavaScript交互的方法和常见的问题基本就这些了,另外还在网上找了一个第三方的FlashJavaScript交互的工具JavaScriptFlashGateway,试了试总觉得没flash自身的ExternalInterface简单好用。如果还有其它的方法,请不吝共享。