从Js调用一个AS方法

js

  从Js调用一个AS方法:
为了从js调用as的方法,你必须确认一下四个文件都包含在你的html文档中:
<script type="text/javascript" src="/path/to/Exception.js"></script> 
<script type="text/javascript" src="/path/to/FlashTag.js"></script> 
<script type="text/javascript" src="/path/to/FlashSerializer.js"></script> 
<script type="text/javascript" src="/path/to/FlashProxy.js"></script> 
<script type="text/vbscript" src="/path/to/VBCallback.vbs"></script> 用flashProxy.js (javascript类)来代理flash和js之间的方法调用。flashProxy和你想调用flash方法所在的flash必须共用一个唯一的id,这样flashProxy就知道页面上的哪个flash提供调用的方法了。创建唯一id的最简单方法是使用时间标签。在你的script中写到:
var uid = new Date().getTime(); 现在我们来创建一个FlashProxy JavaScript class 实例,并将刚刚创建的唯一id传给flash。你的flash的ID或NAME(object标签中的ID的属性值和embed标签中的NAME的属性值),和JavaScriptFlashGateway.swf 文件的路径,像这样 :
var flashProxy = new FlashProxy(uid, ’myFlashContent’, ’/path/to/JavaScriptFlashGateway.swf’); 注:flash的ID或NAME为"myFlashContent"  。
当你将flash嵌入你的html页面后,你得用flashvars来传递那个你传递给flashProxy构造器的唯一id(uid),同时,你还得给你的flash添加与传递给FlashProxy构造器的“myFlashContent”值相同ID或NAME(object标签中的ID的属性值和embed标签中的NAME的属性值)。文件中的FlashTag 类(FlashTag.js),使得这些变得很简单:
<script type="text/javascript"> 
    var tag = new FlashTag(’/path/to/flashContent.swf’, 300, 300, ’7,0,14,0’); //路径,宽度,高度,flashplayer版本号 
    tag.addFlashVars(’lcId=’ + uid);//传递的参数 
    tag.setId(’myFlashContent’);//设置<object id="myFlashContent"> 
    tag.write(document);//写成html代码 
</script> 上面,我们写到 lcId=+ uid。那个唯一的id就是通过 lcId 这个flash变量传递到flash中的。  到现在我们已经做好了准备工作,可以通过flashProxy实例从js调用flash的方法了,系,如下:
flashProxy.call(’myActionScriptFunction’, ’my string’, 123, true, new Date(), null); 第一个参数是你想调用的flash方法名,其他的参数如同在flash中调用此函数一样,传递相同的参数。支持的数据类型包括objects, arrays, strings, dates, numbers, booleans, nulls, 和 undefined. 
好了。确认我们的myFlashContent.swf已经引用并初始化了一个 JavaScriptProxy 对象来接受这些函数调用命令(参考“在flash中接收一个js方法的调用”一文)。
关于更高级的使用例子,FlashProxy object 提供一个附加的可选参数,叫做“callbackScope”(暂译:返回范围)。如果你想让flash在一个更大的范围中调用方法而不是局限于当前文档中,那么传递一个参数到想到达的区域。举个例子,比如我有一个js object叫做“callback”,我可以这样子来实例化FlashProxy 来让flash中供调用的方法依附于“callback”的实例上:
var flashProxy = new FlashProxy(uid, ’myFlashContent’, ’/path/to/JavaScriptFlashGateway.swf’, callback);

时间: 2024-10-03 04:50:59

从Js调用一个AS方法的相关文章

.net下不用AJAX实现前台JS调用后台C#方法(小技巧)

纯属小技巧,高手见笑了. 一提到如何在前台JS调用后台C#方法,AJAX成为了必然的想法. 只是实现的细节采用AJAX 1.0或者AjaxPro的区别. 其实如果不用AJAX,我们也能够很方便地利用JS调用后台方法. 步骤如下: 1 前台放一个按钮.设置为隐藏.注意:不能直接设置Visible=false的方式,这样的话在ASP.Net 2.0编译后的代码里是找不到这个按钮的.需要设置风格:style="display:none;" 2 双击按钮,写入C#方法,或者写一个调用后台其他方

ajax-前台js调用后台Ajax方法 提示未定义

问题描述 前台js调用后台Ajax方法 提示未定义 后台方法以及注册AjaxWeb.config配置js调用就报错也应用了jquery.js这个文件本地直接运行时可以的,但是传到服务器就不行了!! 解决方案 ajax 前台js调用后台方法JS前台调用后台方法后台调用前台js的方法 解决方案二: ajaxpro使用的prototype和jquery会争用$的使用权出现冲呕吐.jquery要调用jQuery.noConflict()释放$的使用 而且注意aspx要存在runat=""ser

JS调用CS后台方法的问题

问题描述 [AjaxPro.AjaxMethod]publicvoidsocietypaging(){PagedDataSourceps=newPagedDataSource();OleDbConnectionmyconn=newOleDbConnection(@"provider=microsoft.jet.oledb.4.0;datasource=|datadirectory|news.mdb");myconn.Open();OleDbDataAdaptermyAdapter=ne

js调用后台servlet方法实例

 1.使用document.form.action方式   相关源码如下:   *.js   [javascript]       代码如下: <span style="white-space:pre"> </span> document.getElementById("sendPerson").value = SendPerson;  document.getElementById("currentTime").valu

js调用后台servlet方法实例_javascript技巧

1.使用document.form.action方式 相关源码如下: *.js [javascript] 复制代码 代码如下: <span style="white-space:pre">  </span> document.getElementById("sendPerson").value = SendPerson;  document.getElementById("currentTime").value = cur

求助啊用jquery调用一个后台方法 报500错误

问题描述 $(document).ready(function(){$("#Fnumber").bind("propertychange",function(){vara=$("#Fnumber").val();alert(a);$.ajax({type:"POST",url:"AddStorage.aspx/aa",data:"{a}",dataType:"text"

js调用地址栏地址方法...

问题描述 如在地址栏输入a.a.com页面打开之后加上www,也就是地址栏显示www.a.a.com在地址栏a.a.com/index.shtml就会显示www.a.a.com/index.shtml任何一个页面的转换求方法感觉不尽,积分双手奉上...谢谢各位美女帅哥. 解决方案 解决方案二:果断写个页面跳转了,否则,搜索引擎的人品统计是按照2个人计算的解决方案三:这个需要游览器级别的改变吧,现在chrome不是就是做到了这点了吗

Node.js中安全调用系统命令的方法(避免注入安全漏洞)_node.js

在这篇文章中,我们将学习正确使用Node.js调用系统命令的方法,以避免常见的命令行注入漏洞. 我们经常使用的调用命令的方法是最简单的child_process.exec.它有很一个简单的使用模式;通过传入一段字符串命令,并把一个错误或命令处理结果回传至回调函数中. 这里是你通过child_process.exec调用系统命令一个非常典型的例子. 复制代码 代码如下: child_process.exec('ls', function (err, data) {     console.log(

JS 建立对象的方法_基础知识

Objects are useful to organize information. 对于组织信息来讲对象是非常有用的  JavaScript Objects JS对象 Earlier in this tutorial we have seen that JavaScript has several built-in objects, like String, Date, Array, and more. In addition to these built-in objects, you c