外部传参,关于ExternalInterface.addCallback的使用。

由于昨天把模板做好了,而且测试了下,已经没有问题。

今天遇到的是安全。

由于公司网站是用C#写的,所以C#要调用flash里面的函数,主要是安全。

原本我推荐boss使用安全证书,但是他一口否决了我的提议,具体原因不在此次讨论中。

外部调用:

import flash.external.ExternalInterface;

private function onComplete(e:Event):void

{

LoadSWF.Instance.removeEventListener(LoadSWF.COMPLETE, onComplete);

ExternalInterface.addCallback("c2flash", c2flash); //第一个参数指的是AS3中需要调用的函数名,第二个参数则是C#中调用的函数名

onClass();

}

private var _testStr:String;

//分割字符串并且分别判断其作用

private function c2flash($result:String):void

{

_testStr = $result;

var mode:String;

if (_testStr.split(‘|‘)[0] == ‘*************‘)//这里具体参数我不举例,这是公司使用的。

{

mode = _testStr.split(‘|‘)[1];

doAction(mode);

}

}

//4种参数播放模式

private function doAction($mode:String):void

{

ZhuomianGo();

switch ($mode)

{

case ‘WFJ‘:

break;

case ‘WTF‘:

break;

case ‘FFF‘:

break;

case ‘WFF‘:

TishiInt=3;

break;

}

}

另外还涉及浏览器兼容性的问题。这里就不详解了。

参考文献:http://write.blog.csdn.net/postedit

时间: 2024-11-10 01:22:43

外部传参,关于ExternalInterface.addCallback的使用。的相关文章

Python学习杂记_8_从程序外部传参的办法sys.argv

Python用 sys.argv[] 实现从程序外部传参 sys.argv 返回的是一个元组,元组的首个元素是程序本身,第二个元素之后依次是我们通过输入来指定的各个参数.即是元组,就说明这些参数是有序且不可变的,当然可以用下标来引用这个元组的每个元素,也就是你输入的各个参数,来实现参数的传递."外部"的含义,其实就是这些参数不是你在程序中定义的,而是在程序之外传递进来的. 举个栗子: ''' 写一个修改文件的程序,要求传入一个文件名,再传入一个被修改的字符串,再传入一个要修改成什么的字

C# 控制台应用程序从外部传参运行和调试

参考:/*十有三博客*/ 新建一个用于演示的控制台应用程序项目,然后在Program.cs的入口Main方法里编写如下代码 foreach (var arg in args) { Console.WriteLine(arg); } Console.ReadKey(); static void Main(string[] args) { foreach (var arg in args) { Console.WriteLine(arg); } Console.ReadKey(); } 这段代码最后

学习笔记:JavaScript传参方式———ECMAScript中所有函数的参数都是按值传递

我们把命名参数(arguments)视为局部变量,在向参数传递基本类型值时,如同基本类型变量的复制一样,传递一个副本,参数在函数内部的改变不会影响外部的基本类型值.如: 1 function add10(num){ 2 num += 10 ; 3 return num ; 4 } 5 var count = 10 ; 6 var result = add10(count); 7 alert(count);// 10 8 alert(result); //20 在向参数传递引用类型的值时,会把这个

用反射通过构造函数给窗体传参

最近在项目上用到反射来调用方法用的比较多,传参包含两种方式,一种是通过变量传参,第二种是通过构造函数传参,下面分别介绍下两种方式: 先介绍几种获取实例的方法,下面描述中提到的三种方法其实都是大同小异的,核心就是通过System.Reflection.Assembly 类型的CreateInstance方法创建实例. //反射可以有很多方法,编写程序时请先导入 System.Reflection 命名空间,假设你要反射一个 DLL 中的类,并且没有引用它(即未知的类型): Assembly ass

JavaScript事件响应函数传参的问题

经常在外部JavaScript文件中分配响应函数,比如: 1 window.onload=function(){ 2 //... 3 } 有些时候响应函数是有参数的: <input type="button" onclick="ClickResp('hello world'')" /> 这种情况要怎么在外部JavaScript实现? 这里面涉及两个问题:1. 匿名函数的传参问题.比如 var func=function(){}; 的情况,这里根本不允许实

枚举|标志枚举+|(或)和&amp;(与)运算|类型转换|值类型和引用类型|传参|异常|垃圾回收

枚举部分 enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型. 通常情况下,最好是在命名空间内直接定义枚举,以便该命名空间中的所有类都能够同样方便地访问它. 但是,还可以将枚举嵌套在类或结构中.默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1. 例1: //此枚举的默认值是从0开始 enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri}; 例2: //此枚举的默认值是从1开始,下标为3的tue值为7,从下标3开始

python 动态传参,名称空间和作用域,函数的嵌套,global和nonlocal

一.动态传参 1.位置参数动态传参 def func(*args):    *表示动态传参 * 在这里表示接受位置参数的动态传参,接收到的是元组. def fun(*args): print(args) fun('aaa',3,5,6,'ccc') # 结果('aaa', 3, 5, 6, 'ccc') 2.关键字的动态传参 def func(**kwargs): 函数体(代码块) func(n=7,m="aa"): **表示接收关键字参数的动态传参,接收到的是字典. def fun(

Shell传参的多种方式

Shell 传参的多种方式 使用$1 $2 这种类似占位符的方式 # 命令行调用 start.sh 8080 9090 # 脚本中获取 port1=$1 # 8080 port2=$2 # 9090 可以看出来这种方式使用起来很简单,但灵活性太差,比如我只想传第二个参数,第一个使用默认值,这个就不行,所以就有第二种,指定参数传递 指定参数 getopts(shell内置命令) #命令行调用 start.sh -a 8080 -b 9090 # 脚本中获取 while getopts "d:b:h

Linux Shell 通过传参的方式往/etc/user.conf里添加用户

实现通过传参的方式往/etc/user.conf里添加用户,具体要求如下:1)命令用法:USAGE: sh adduser {-add|-del|-search} username 2)传参要求:如果参数为-add时,表示添加后面接的用户名,如果参数为-del时,表示删除后面接的用户名,如果参数为-search时,表示查找后面接的用户名,3)如果有同名的用户则不能添加,没有对应用户则无需删除,查找到用户以及没有用户时给出明确提示.4)/etc/user.conf不能被所有外部用户直接删除及修改