用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支持的样式设置方式
1.直接使用CSS文件,系统默认使用default.css
<mx:Style source=“style.css”/>
2.使用<mx:Style>标签
3.使用style设计器(->MXML)
4.使用对象的getStyle( )和setStyle( )
5.使用StyleManager类
主题是一套配置完成的样式风格
Flex提供的几种主题,文件类型.swc
......
今天突发奇想,想试一试Flex的保存功能,知道FileReference这个类里面直接就有save方法,API也说的很清楚,可是FB里面死活就是找不到这个方法,无奈上网一找才发现原来这个功能是Flash10的功能,而我的FB的默认配置是Flash9,具体修改方法:点项目属性->FLex Compiler->Requiment Flash Player Version改为10.0.0就可 ......
本文编译后的补丁下载链接 http://download.csdn.net/source/1908278
多模块应用,每加载一个模块都会重复加载模块所使用的RSL,现在增加一个
private static var loadedRSLs:Dictionary = new Dictionary(); 来保存是否已加载
mx.core.RSLListLoader
//////////////// ......