flash获取参数
即时获得麻球游戏开发的最新消息,关注游戏开发者热门讨论,请各位开发者申请加入麻球官方群:121304476
也可以follow catfly围脖:t.sina.com.cn/iscat

flash可以有三种常用的途径获取url参数

  1. 用JavaScript对象来定义你的flashvars
  2. flash本身的路径src
  3. 页面地址url

js定义的flashvars参数
在页面中嵌入flash时用js定义的参数,通过定义一个paramObj对象
var paramObj:Object = LoaderInfo(root.loaderInfo).parameters来访问传入的参数。
页面中的代码


<script type="text/javascript"> var params = {}; params.allowfullscreen = "true"; params.allowscriptaccess = "always"; var flashvars = {vv:"js_test"}; swfobject.embedSWF("var.swf?id=11&mm=src_test", "swfDiv", "720", "520", "9.0.0", false, flashvars, {}, {}); </script>

actionscript代码


var paramObj:Object = LoaderInfo(root.loaderInfo).parameters;
if(paramObj["vv"]){
tf.text = "js添加变量vv值:"+paramObj["vv"];
}

flash路径src中的参数
在页面嵌入flash的路径中,如”var.swf?id=11&mm=src_test”传递参数。
这种情况跟访问js定义的参数相同的方法来访问


if(paramObj["mm"]){
tf.appendText("n"+"flash路径变量mm值:"+paramObj["mm"]);
}

页面地址中的参数
也可以通过页面地址来传递参数,如”http://www.catfly.cn/wp-content/uploads/2009/11/Variables/var.html?page=233&name=robin”。
这种情况可以使用一个开源的类QueryString来获取参数。
这里我做了一个checkVar函数来检查在页面地址中是否存在某个参数。
可以访问下面的链接测试效果:
url中无参数
url中无name参数
url中有name参数


var url:String=ExternalInterface.call("document.location.search.toString"); if(url){ tf.appendText("n"+"url变量是否存在:"+String(checkVar(url,"name"))); if(checkVar(url,"name")){ var qs:QueryString = QueryString.getInstance(); tf.appendText("n"+"url变量name值:"+qs.getValue("name")); } } function checkVar(_url:String,vName:String):Boolean{ var hasVar:Boolean; if (_url.split("?")[1]){ var varsArr:Array = _url.split("?")[1].split("&"); for(var i:uint=0;i var varName:String = varsArr[i].split("=")[0]; if(varName && varName==vName){hasVar = true;}else{hasVar = false;} } }else{ hasVar = false; } return hasVar; }

文章示例文件下载

猫推拼盘

Leave a Reply