用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);
}
]]-->
相关文档:
Flash To EXE
Flex端
Flex创建一个Flex Project命名为Demo1,类型选Web application(runs in Flash Player)
在Demo1.mxml上添加一个按钮,并未按钮添加点击事件
private function ButtonClick(event:MouseEvent):void
{
......
flex各组件对应的样式属性上2007-10-2515:47各组件对应的样式属性
themeColor主题颜色:如果对色彩样式配置不想过多的去设置的话,themeColor是一个选择。它可
以让你选择一种基本色彩,然后组件的边框,外观等色彩将会以此色彩为基础构成一组缺省的样式,组件均可使用此样式属性。
Application组件样式属性
background ......
采用Image重复加载图片极大影响性能,并且占用大量内存,下面是我对比验证的代码。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
initialize="loadImage()">
<m ......
flash和flex针对不同的目的,提供了3种不同的坐标系。
全局的就是(stage级别的)
本地坐标系(组件级别的)
内容坐标系(相对于本地坐标系说的 ......