导航:首页 > 编程语言 > flash调用js弹窗

flash调用js弹窗

发布时间:2024-03-01 01:46:18

㈠ 请问Flash怎么调用所插入页面的js函数呢getURL("javascript:test()","_self");这个方法是不是不行

是的。如果本地有iis测试环境也可以。

可能我没说清楚,再详细说下,就你上面贴的代码,回是能用的。答将此swf插入网页,同时网页中加入了js脚本,调用就能成功。但你在本地打开浏览器随便就能让它执行是成功不了的。要上传到服务器才可以。

我说的意思就是,如果你想在本地测试调用成功,需要有服务器环境,比如我装了iis就能实现,此时浏览器地址栏输入的是本地服务器地址:

㈡ flash调用js的函数

通过ExternalInterface调用js函数

语法:

ExternalInterface类的call方法

ExternalInterface.call(functionName:String,...arguments):*

//第一个参数是js的函数名,后面的是js函数的内参数

举例:

1、容js函数

functionhello(h){
alert(h);
}

2、flash调用

ExternalInterface.call(hello,"nihao")调用后会弹出nihao

㈢ js与as怎么相互调用,as里面可以直接弹出一个对话框或者跳转到一个新的页面吗

AS调用JS函数:
ExternalInterface.call(JS中的函数名,参数一,参数二);//调用JS中的一个函数
以下AS代码回:
import flash.external.ExternalInterface;
例子:ExternalInterface.call('alert',‘hello world!’答);//会弹出JS的提示框

JS调用AS函数:
ExternalInterface.addCallback(提供给JS调用的名称,调用的函数); //提供一个函数给JS调用

以下AS代码:
import flash.external.ExternalInterface;
import mx.controls.Alert;
public function asFunc(a:int,b:int):int
{
Alert.show(a+b);
}
ExternalInterface.addCallback("add",asFunc);

以下JS代码:
add(1,2);//调用的其实是AS中的asFunc方法 ,会在Flash中弹出提示框

㈣ flash 调用外部JS函数

cs3里面的实现方法:
实现这个功能需要用到as里的externalinterface类
可以在as文档里找到
获取有关外部容器的信息

ExternalInterface.available 属性指示当前的 Flash Player 是否位于提供外部接口的容器中。如果外部接口可用,则此属性为 true;否则,为 false。在使用 ExternalInterface 类中的任何其它功能之前,应始终进行检查以确保当前容器支持外部接口通信,如下所示:

if (ExternalInterface.available)
{
// 在此执行 ExternalInterface 方法调用。
}

注意

ExternalInterface.available 属性报告当前容器是否为支持 ExternalInterface 连接的容器类型。它不会报告当前浏览器中是否启用了 JavaScript。

通过使用 ExternalInterface.objectID 属性,您可以确定 Flash Player 实例的唯一标识符(具体来说,是指 Internet Explorer 中 object 标签的 id 属性,或者是指使用 NPRuntime 接口的浏览器中 embed 标签的 name 属性)。这个唯一的 ID 代表浏览器中的当前 SWF 文档,并可用于对 SWF 文档进行引用,例如:在容器 HTML 页中调用 JavaScript 函数时进行引用。当 Flash Player 容器不是 Web 浏览器时,此属性为 null。

从 ActionScript 中调用外部代码

ExternalInterface.call() 方法执行容器应用程序中的代码。它至少需要一个参数,即包含容器应用程序中要调用函数的名称的字符串。传递给 ExternalInterface.call() 方法的其它任何参数均作为函数调用的参数传递给容器。

// 调用外部函数"addNumbers"
// 传递两个参数并将该函数的结果
// 赋给变量"result"
var param1:uint = 3;
var param2:uint = 7;
var result:uint = ExternalInterface.call("addNumbers", param1, param2);

如果容器为 HTML 页,此方法将调用具有指定名称的 JavaScript 函数,必须在包含 HTML 页中的 script 元素中定义该函数。JavaScript 函数的返回值被传递回 ActionScript。

// 加上两个数字,然后将结果发送回 ActionScript
function addNumbers(num1, num2)
{
return (num1 + num2);
}

如果容器为其它的 ActiveX 容器,此方法将导致 Flash Player ActiveX 控件调度它的 FlashCall 事件。Flash Player 将指定的函数名及所有参数序列化为一个 XML 字符串。容器可以在事件对象的 request 属性中访问该信息,并用它来确定如何执行它自己的代码。为了将值返回 ActionScript,容器代码调用 ActiveX 对象的 SetReturnValue() 方法,并将结果(序列化为一个 XML 字符串)作为该方法的参数进行传递。有关该通信使用的 XML 格式的详细信息,请参阅外部 API 的 XML 格式。

无论容器为 Web 浏览器还是为其它 ActiveX 容器,只要调用失败或容器方法没有指定返回值,都将返回 null。如果包含环境属于调用代码无权访问的安全沙箱,ExternalInterface.call() 方法将引发 SecurityError 异常。可以通过在包含环境中为 allowScriptAccess 设置合适的值来解决此问题。例如,要在 HTML 页中更改 allowScriptAccess 的值,请编辑 object 和 embed 标签中的相应属性。

从容器中调用 ActionScript 代码

容器只能调用函数中的 ActionScript 代码,而不能调用任何其它 ActionScript 代码。要从容器应用程序调用 ActionScript 函数,必须执行两项操作:向 ExternalInterface 类注册函数,然后从容器的代码调用它。

首先,必须注册 ActionScript 函数,指示其应能够为容器所用。使用 ExternalInterface.addCallback() 方法,如下所示:

function callMe(name:String):String
{
return "busy signal";
}
ExternalInterface.addCallback("myFunction", callMe);

addCallback() 方法采用两个参数。第一个参数为 String 类型的函数名,容器将籍此名称得知要调用的函数。第二个参数为容器调用定义的函数名时要执行的实际 ActionScript 函数。由于这些名称是截然不同的,因此可以指定将由容器使用的函数名,即使实际的 ActionScript 函数具有不同的名称。这在函数名未知的情况下特别有用,例如:指定了匿名函数或需要在运行时确定要调用的函数。

一旦向 ExternalInterface 类注册了 ActionScript 函数,容器就可以实际调用该函数。完成该操作的具体方法依容器的类型而定。例如,在 Web 浏览器的 JavaScript 代码中,使用已注册的函数名调用 ActionScript 函数,就像它是 Flash Player 浏览器对象的方法(即,一个表示 object 或 embed 标签的 JavaScript 对象的方法)。也就是说,将传递参数并返回结果,就如同调用本地函数一样。

// callResult gets the value "busy signal"
var callResult = flashObject.myFunction("my name");

或者,在运行于台式机应用程序中的 SWF 文件中调用 ActionScript 函数时,必须将已注册的函数名及所有参数序列化为一个 XML 格式的字符串。然后,将该 XML 字符串作为一个参数来调用 ActiveX 控件的 CallFunction() 方法,以实际执行该调用。有关该通信使用的 XML 格式的详细信息,请参阅外部 API 的 XML 格式。

不管是哪种情况,ActionScript 函数的返回值都被传递回容器代码,当调用方为浏览器中的 JavaScript 代码时直接作为值返回,而当调用方为 ActiveX 容器时则会序列化为 XML 格式字符串。

阅读全文

与flash调用js弹窗相关的资料

热点内容
java语音传输 浏览:277
数控编程哪些章节可以制作微课 浏览:2
eclipse删除配置文件 浏览:17
软件校验文件在哪里 浏览:401
什么是文件word格式 浏览:811
qq皮肤透明带可乐字 浏览:392
word保存内容时采用默认文件名 浏览:513
在网络上辱骂他人算什么罪 浏览:29
什么app平台分期手机靠谱 浏览:958
打开jnt文件win10 浏览:626
qq头像林暖 浏览:804
phpforeach取不出数据库 浏览:396
苹果6怎么下载品俊达app 浏览:649
剑网三图片找不到对应的文件 浏览:995
win10桌面家庭组图标怎么删除 浏览:24
哪些现成的主机适合编程 浏览:100
网络商城系统有免费的吗 浏览:63
网页代码播放电影链接 浏览:696
电脑微信打开摄像头权限 浏览:495
win7和win7怎么共享文件 浏览:355

友情链接