flash调用js中的方法,让js传递变量给flash的办法及思路_javascript技巧

html 页中的 JavaScript 函数:

复制代码 代码如下:

function GetSwfUrl()
{
var pics1 = parseInt(Math.random()*5)+1;
var pics2 = parseInt(Math.random()*5)+1;
document.my_swfId.SetVariable("pic01Num", pics1);
document.my_swfId.SetVariable("pic02Num", pics2);
}

说明:pic01Num 和 pic02Num 为 Flash 中定义的变量,以上函数将 JS 变量 pics1 和 pics1 分别赋值予 Flash 变量 pic01Num 和 pic02Num 。my_swfId 为 html 页中 swf 的 id .
***************
在 Flash 中与 JS 的通信可以用传统的 getURL,Flash8 以后,可以用 ExternalInterface 。ExternalInterface 在功能上与 fscommand()、CallFrame() 和 CallLabel() 方法相似,但它更灵活、更通用。推荐对 JavaScript 和 ActionScript 之间的通讯使用 ExternalInterface 。
getURL调用JS:

复制代码 代码如下:

getURL("javascript:GetSwfUrl()");

ExternalInterface调用JS:

复制代码 代码如下:

import flash.external.ExternalInterface;//导入 ExternalInterface 类
ExternalInterface.call("GetSwfUrl()");

注意:如果要使用 ExternalInterface,当前帧必需要有 import flash.external.ExternalInterface; 或者 import flash.external.*;

时间: 2024-10-01 14:55:57

flash调用js中的方法,让js传递变量给flash的办法及思路_javascript技巧的相关文章

JS中使用Array函数shift和pop创建可忽略参数的例子_javascript技巧

在 JS Array 中支持两个方法,shift() 和 pop(),分别是指从一个数据中的最前面和最后面删除一个值,并返删除值.看一个示例就明白了: 复制代码 代码如下: var arr = ['s','o','f','i','s','h']; arr.shift(); // 返回 's'arr; // 目前是 ['o','f','i','s','h']arr.pop() // 返回 'h'arr // 目前是 ['o','f','i','s'] 在很多 JS 框架中可以很常见的是,一个方法提

js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解_javascript技巧

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索. substring() 方法用于提取字符串中介于两个指定下标之间的字符. substr(start,length)表示从start位置开始,截取length长度的字符串 split 将一个字符串分割为子字符串,然后将结果作为字符串数组返回 replace 用于在字符串中用一些字符替换另一些字符,或替换一个与正则

JS中split()用法(将字符串按指定符号分割成数组)_javascript技巧

废话不多说了,直接给大家贴代码. <!DOCTYPE html> <html> <head> <meta charset="{CHARSET}"> <title></title> </head> <body> </body> <script type="text/javascript"> //在Javascript脚本中,将字符串按指定符号进行分割

js中如何复制一个对象并获取其所有属性和属性对应的值_javascript技巧

在js中如何复制一个对象,例如如下一个js对象. 如果知道这个对象的所有属性自然就可以重新new一个,然后对每个属性赋值,就可以做到,但如果不知道呢?如何创建一个内容相同 的对象呢? 复制代码 代码如下: var obj={ colkey: "col", colsinfo: "NameList" } 最简单就是使用for in, 例如obj2就拥有了和obj完全相同的属性 复制代码 代码如下: var obj2=new Object(); for(var p in

JS中引用百度地图并将百度地图的logo和信息去掉_javascript技巧

采用CSS覆盖的方法就可以了,但是官方是不允许这么做的,参考:http://developer.baidu.com/map/question.htm 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>javascript移除百度地图LOGO和版权信息</title> <script type="text/j

js调用Flex中的方法并向flex中传参及flex调用js示例

首先,有了一个swf文件,test.swf,同时也有一个自动生成的html文件,test.html. 然后,在另外一个文件,test.jsp中,通过iframe,引入了test.html,即引入了swf. 现在想要在test.jsp中,向flex传参,并调用flex中的方法,我采用的方法是: 首先,在jsp中写一个调用flex的方法,如下 复制代码 代码如下: function initSWF(){ //得到swf的object var obj = window.frames["rightfra

js调用Flex中的方法并向flex中传参及flex调用js示例_Flex

首先,有了一个swf文件,test.swf,同时也有一个自动生成的html文件,test.html. 然后,在另外一个文件,test.jsp中,通过iframe,引入了test.html,即引入了swf. 现在想要在test.jsp中,向flex传参,并调用flex中的方法,我采用的方法是: 首先,在jsp中写一个调用flex的方法,如下 复制代码 代码如下: function initSWF(){ //得到swf的object var obj = window.frames["rightfra

javascript-如何实现一个js调用另外一个js中的方法

问题描述 如何实现一个js调用另外一个js中的方法 两个js文件分别有一个方法写在$(function(){ 方法...}),如何实现一个js调用另外一个js中的方法.调用方法就会报错:Uncaught ReferenceError: addNode is not defined 解决方案 ?? 例如一个test.js内容如下:function main( input ){?? return input;}在C++中调用方法如下:// vcJscript.cpp : 定义控制台应用程序的入口点.

js中settimeout方法加参数的使用实例

 这篇文章主要介绍了js中settimeout方法加参数的使用,需要的朋友可以参考下 简单使用看w3school    里面没有参数调用,    例子如下   代码如下: <script type="text/javascript">  function timedMsg()  {  var a ="dd";  var t=setTimeout(function(){ cao(a);},3000)  }  function cao(a)  {  aler