易截截图软件、单文件、免安装、纯绿色、仅160KB

用FLEX如何取浏览器地址栏中的域名信息?

用FLEX如何取浏览器地址栏中的域名信息?我查找到两种方法:
第一种方法是用ExternalInterface.call('window.location.href.toString'),它的值就是地址栏中的域名
有以下几点需要注意:
1.当Flash和加载它的网页不同域时,需要在网页在 PARAM 或 EMBED 标签中进行设置AllowScriptAccess 为“always”
关于AllowScriptAccess ,参见官方文档
2.仅用embed标签嵌入网页,在IE浏览器中取到的值为空,FF里正常。所以必须要object标签,及id值,关于为什么会这样,请看另外一篇网摘
我测试成功IE,FF均可取到域名的html代码如下:
<object id="flashpaper" width="950" height="500" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0">
<param name="movie" value="http://www.text.com/t.swf"/>
<param name="allowfullscreen" value="true"/>
<param name="allowscriptaccess" value="always"/>
<embed width="950" height="500" allowscriptaccess="always" allowfullscreen="true" src="http://www.test.com/t.swf" type="application/x-shockwave-flash"/>
</object>
第二种方法是用BrowserManager解析URL 示例:mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="getUrl()" layout="absolute" historyManagementEnabled="false" >
<mx:Script>
<!--[CDATA[
import mx.controls.Alert;
import mx.managers.BrowserManager;
import mx.managers.IBrowserManager;
private var bm:IBrowserManager;

private function getUrl():void{
bm=BrowserManager.getInstance();
bm.init();
var str:String = bm.url;
Alert.show(str);
}
]]-->


相关文档:

flex Bindable使用讲解

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
 <mx:Panel width="392" height="300" layout="absolute">
  <mx:Label x="19" y="10" text="{user}" width="171" height="20"/>
  <mx ......

flex TextInput的restrict应用

发现了一个Flex中TextInput的一个比较有用的属性restrict(约束,限定),先看下例子:
1,<mx:TextInput id="test_ti" width="160" maxChars="20" restrict="0-9" text="0"/>
这样,这个输入框最多只能输入20个字符,只能输入0到9之间的数字了,你如果输入别的是输入不进去的
2,<mx:TextInput id="test_ti" width="1 ......

Flex和Java交互的乱码解决方案


今天做Flex时碰到flex和java交互的乱码问题,使用HTTPService无论是从Flex端传到Java端,还是反过来都乱码。调查了半天,终于搞定了。
 
 
以下是解决方案:
 
 
1.Flex端传到Java端
 
Flex端:encodeURIComponent(comment.text)
使用encodeURIComponent把参数转换为 application/x-www ......

flex向子窗口传值(很简单的办法)

var login:infoChange=infoChange(PopUpManager.createPopUp( this, infoChange , true));
     login.x=250;
     login.y=150;
     login.userid.text=dg.selectedItem.aa;
     login.username.text=dg.selectedItem.bb;
  ......

避免Flex RSL重复load 提高module加载性能

本文编译后的补丁下载链接 http://download.csdn.net/source/1908278
多模块应用,每加载一个模块都会重复加载模块所使用的RSL,现在增加一个
    
    private static var  loadedRSLs:Dictionary = new Dictionary(); 来保存是否已加载
mx.core.RSLListLoader
//////////////// ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号