`
lixinye0123
  • 浏览: 333411 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

JavaScript 调用 ActionScript

    博客分类:
  • Flex
阅读更多
MXML:
<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*"
    creationComplete
="onCreationComplete()">

    
<mx:Script source="ExternalInterfaceJSAS.as" />

    
<mx:Canvas width="100%" height="100%">
        
<mx:Panel x="0" y="0" height="300" width="500" title="ExternalInterface : JavaScript to Flash">
            
<mx:Canvas height="100%" width="100%">
                
<mx:TextArea x="8" y="9" width="464" height="250" id="tArea"/>
            
</mx:Canvas>
        
</mx:Panel>
    
</mx:Canvas>
</mx:Application>
 
ExternalInterfaceJSAS.as:

import flash.events.MouseEvent;
import flash.external.ExternalInterface;
import flash.system.Security;

private 
function onCreationComplete():void
...{
    Security.allowDomain(
"*");
    submitButton.addEventListener(
"click", onSubmitClick);
}


private 
function onSubmitClick(event:MouseEvent):void
...{
    
//we need to make sure that ExternalInterface is available
    //If you are running in StandAlone player, then this will return false
    if(ExternalInterface.available)
    
...{
        
var s:String = tInput.text;
        
        
//call the javascript function
        ExternalInterface.call("displayString", s);
    }

}


HTML:
<html>
<head>
<title>ExternalInterfaceJSAS</title>
<style>...
body 
{...}{ margin: 0px;
 overflow
:hidden }

</style>

<script language="JavaScript">...

    
//called when send button is pressed
    function doSubmit()
    
...{
        
//get the data from the TextArea
        var ta = document.getElementById("outputField");
        sendToFlash(ta.value);
    }


    
function sendToFlash(input)
    
...{
        
//get access to the flash player in the page with an ID of fp
        var flash = (navigator.appName.indexOf ("Microsoft"!=-1)?window["fp"]:document["fp"];
        
        
//call the function in flash
        flash.displayString(input);
    }

</script>


</head>
<body scroll='no'>
<object id='fp' 
    
classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'
    
codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,5,0,0'
    
height='300' width='450'>
     
    
<param name='flashvars' />
    
<param name='src' value='ExternalInterfaceJSAS.swf'/>
    
    
<embed name='fp'
    
pluginspage='http://www.macromedia.com/go/getflashplayer'
    
allowScriptAccess='always'
    
src='ExternalInterfaceJSAS.swf' height='300'
    
width='500' />
</object>

<form>
    
<textarea id="outputField" style="width:450px;height:50px"></textarea>
    
<br />
    
<input type="button" value="Send to Flash" onclick="doSubmit()"/>
</form>
</body>
</html>
    

需要注意的地方是不能直接打开html,需要放在服务器上运行,如Tomcat上
分享到:
评论

相关推荐

    ActionScript与JavaScript相互调用

    这种方式允许JavaScript调用ActionScript函数,反之亦然。例如,JavaScript可以通过`document.getElementById('mySwf').someActionScriptMethod()`来调用SWF中的ActionScript方法。 2. ExternalInterface API:...

    ActionScript与JavaScript相互调用(论文)

    - **从JavaScript调用ActionScript**:允许JavaScript访问Flash影片中的对象和方法,从而实现对Flash影片的控制。 #### 3. 实现方法 - **在Flash中调用JavaScript**:可以通过`getURL()`函数来实现。该函数主要...

    Javascript 调用 ActionScript 的简单方法

    在Flex中,ActionScript调用Javascript是比较简单的,说白了就是,在html里,怎么调用Javascript,在ActionScript就怎么调用就可以了。接下来通过本文给大家介绍js 调用 actionscript方法,感兴趣的朋友一起看看吧

    FlashPlayer组件调用FLASH函数接口

    除了ExternalInterface.addCallback,ExternalInterface还提供了其他方法,如`call`,允许JavaScript调用ACTIONSCRIPT中的任何公开函数,即使它们没有在ACTIONSCRIPT中注册。例如: ```javascript document....

    Flex与Javascript相互调用例子(附源码)

    1. **ExternalInterface API**:这是Flash Player提供的一个接口,使得ActionScript代码能够调用JavaScript函数,同时也允许JavaScript调用ActionScript方法。使用`ExternalInterface.addCallback`方法注册一个...

    js与as的相互调用Demo

    一、JavaScript调用ActionScript 1. Flash External Interface(外部接口) AS3引入了ExternalInterface类,允许ActionScript代码与宿主环境(如浏览器)中的JavaScript进行通信。首先,AS代码需要添加对...

    JavaScript和ActionScript的交互实现代码

    `ExternalInterface.call()` 方法允许 ActionScript 调用 JavaScript 函数,而 `ExternalInterface.addCallback()` 方法则使 JavaScript 可以调用 ActionScript 函数。这种交互机制在创建富互联网应用程序(RIA)时...

    JavaScript与ActionScript3交互问题总结

    ExternalInterface API允许AS3代码暴露方法给JavaScript调用,而CDM则允许JavaScript向嵌入在页面中的Flash发送消息。 2. ExternalInterface API ExternalInterface是AS3中用于与JavaScript通信的内置类。要使用它...

    javascript与actionscript的交互.[课件]

    它允许 ActionScript 代码直接调用 JavaScript 函数,并接收回调,反之亦然。这种方式支持 JSON 或其他数据格式的交换,使得数据共享更为方便。 - SWFObject:这是一个 JavaScript 库,用于动态插入 Flash 内容并...

    javascript与actionscript3.0通信实例.rar

    2. **在JavaScript中调用ActionScript函数**: 一旦AS3注册了回调函数,你可以在JavaScript中通过Flash对象调用它。通常,Flash对象是HTML页面中的`&lt;object&gt;`或`&lt;embed&gt;`标签。例如: ```javascript var flash...

    js与as相互调用

    一、JavaScript调用ActionScript 1. ExternalInterface API:这是Flash Player提供的一个接口,允许AS与JavaScript进行双向通信。在AS中,你可以定义一个公开方法,然后通过ExternalInterface.addCallback注册,使...

    Flex4.6-js修正版,之前一版JS无法调用flex,特此纠正

    这是官方支持的一种方式,允许JavaScript调用ActionScript函数,反之亦然。 - **添加外部接口**:在Flex应用中,需要通过`externalInterface.addCallback()`方法注册一个可被JavaScript调用的函数。同时,...

    flash与java交互的方法

    - **`methodName`**: `String`类型,从JavaScript调用ActionScript函数时可使用的名称。此名称不必与ActionScript方法的实际名称匹配。 - **`instance`**: `Object`类型,在该方法中被解析成的对象。此对象不一定是...

    javascript和actionscript之间通信实例

    JavaScript 和 ActionScript 之间的通信是跨平台开发中的一个重要概念,特别是在构建富互联网应用程序(RIA)时,例如使用 Adobe Flash 平台。这两种语言虽然在不同的环境中运行,但可以通过多种技术实现交互,为...

    一个实现ActionScript 与JavaScript 进行相互通信的程序例子

    3. **调用ActionScript方法**:在HTML页面的JavaScript代码中,可以通过Flash对象的`call`方法来调用ActionScript的方法,例如: ```javascript var flashObject = document.getElementById('yourFlashObjectId');...

    ActionScript与JavaScript在教学中的相互调用.pdf

    ActionScript与JavaScript在教学中的相互调用 ActionScript是Flash中的内置编程语言,而JavaScript是网页浏览器采用的网页文本编程语言。虽然这两种编程语言不同,但是如果在教学中将二者结合起来相互调用,却可以...

    FLASH显示office和文本文件(VC源代码版)

    Alchemy允许C++代码与ActionScript之间进行二进制数据交换,而FSCommand则提供了一种通过JavaScript调用ActionScript函数的方式。 5. **安全性和兼容性**:由于涉及到跨域数据交换,必须确保安全性,避免跨站脚本...

Global site tag (gtag.js) - Google Analytics