flex 3 从页面url中取参数取值的完美解决方案
1:当用http://xxxxx/xxx.mxml?name=hermit方式访问 可以用this.parameters.name这种方式在flex里面取url参数
2:当用http://xxxxx/xxx.swf?name=hermit方式访问 可以用this.parameters.name这种方式在flex里面取url参数
3:当用http://xxxxx/xxx.html?name=hermit方式访问 可以用this.parameters.name这种方式在flex里面取url参数
但是页面需要处理. 页面中加入js方法
function getparafromurl() {
var url,pos,parastr,para;
url = window.location.href;
pos = url.indexOf("?") parastr = url.substring(pos+1);
return parastr;
}
在 AC_FL_RunContent中加入 "FlashVars", getparafromurl(), 如果页面是flex builder 通过模板自动生成的那么需要在index.template.html文件中加入上面的代码.
4:同3,但是如果希望js被禁用的时候,flex依然能工作
则需要把html变成jsp,
然后在jsp里面获取url参数,拼成字符串XXXX,
在<object classid=下面
加<param name="FlashVars" value="XXXX" />
然后在flex里面依然能通过this.parameters.name去获取url参数.
相关文档:
使用到的as3gif,请到Google去下载
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" xmlns:file="file.*" xmlns:commont="commont.*">
<mx:TitleWindow title="abc" id="ADwindow" width="400" height="283" >
< ......
根据别人写了类,自己又增加了一部分,贴出来分享
/*获得两个日期之差 */
public static function getDateDiff(startDate:Date, endDate:Date):int
{
var diff:Number = (Number(endDate) - Number(startDate))/(3600000*24);
return diff;
}
/* 获得现在日期 */
public static function getDate() ......
通过Flex中的Timer可是实现数字时钟的效果,其效果图如下:
实现的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<!--[CDATA[
import mx.formatters.DateFormatt ......
对于习惯了使用桌面应用程序的用户而言,回车后下移焦点到下一个编辑组件中的小功能,是非常贴心的,利用flex中的KEY_DOWN事件可以方便的实现回车下移焦点,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplet ......
对包含自定义命名空间的XML 进行分析是比较困难的, 它要求该命名空间一定要在任何XML 返回前被申明, 同时要在该命名空间内进行分析。比如对于以下的一个xml:
test.xml
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle= ......