Flex Deep Link(深链接)应用
最近做游戏的时候,发现退出登陆时URL上会自动加上一个“#”字符,很奇怪,Google+Baidu无数次都没有找到答案。今天无意间看到几个
群友在说通过“BrowserManager”获取URL,于是仔细查看了API,又发现了“HistoryManager”,这个问题终于明白了。
我们通常看的Web页面
可以通过浏览器的“前进”“后退”来查看刚才看过的页面,同样,嵌入的页面中的flash也可以实现这样的功能。方法是通过
HistoryManageer类和BrowserManager类两种方法来实现。HistoryManageer类主要是用在Flex2,Flex3
后很少用了。待会我将分别介绍这两种方法。
回到刚才说URL上自动加“#”号的问题:原因是Application
默认historyManagementEnabled属性是ture,也就是说HistoryManageer类功能自动开启
了,Application
里面通过程序控制addChild或removeChild任何组件所导致的变化,将会记录在flash的history中,导致重写url,加上“#”
字符。故有了这个奇怪的“#”号。在Flex3中,HistoryManager功能在Flex项目中默认打开的还有Accordion 和
TabNavigator组件。对于没有默认打开该功能的组件,如果要实现该功能,则需要另外注册。下面引用两片文章加以说明:
对于一个网站来说,其是有若干个网页组成的。而各个网页之间的链接叫做超链接。链接成为网页和网页之间的桥梁。那么,对于一个Flash整站来
说,有没有一个办法来实现Flash各页面(更恰当的说是各功能模块)之间的链接呢。比如,我想在浏览器中输入一个链接便可以链到Flash整站中的一页
—一个功能模块,而不是每次都要通过Flash整站的第一个页面的功能导航进入。把Flash的各个功能块页面化,那么我们该怎么实现呢。到底能不能实现
呢?
答案是肯定的,通过Flex Deep Link 便能实现上述功能。
第一,Deep Link 简介。
Deep Link其实也是依赖Flash和浏览器的交互来实现的,通过获取链接地址中#后面的参数来实现页面标记,当你在Flex
Bulid3发布一个项目时,其会自动你发布的目录生成一个名为History的文件夹,里面有
History.js,HistoryFrame.html,history.css这三个文件,可见Deep
Link也是通过和浏览器交互来实现的.如果浏览器不支持JavaScript或者禁用JavaScript,那么Deep LinK肯定是不能用的。
对于Deep Link应用,最重要的就是学会应用BrowserManager和HistoryMa
相关文档:
转:http://hi.baidu.com/qinpanke/blog/item/39745a834df933a50cf4d2fc.html
********************************************************************************************************
一切都在代码中,无需多言。需要注意的是:
'_self'代表在本窗口中打开
'_blank'代表在后台新窗口中打开
******************* ......
1.写 session
mxml 文件 加
<mx:RemoteObject source="servlet" id="sessionObject" />
as 文件用下面语句调用
sessionObject.session("set", "foo", 30200);
2.读 session
mxml 文件 加
<mx:RemoteObject source="servlet" id="sessionObject1" res ......
1.弹出新窗口
Flex通过PopUpManager类来实现弹出新窗口:
先设置好要弹出窗口的页面,然后在主窗口中先new出弹出窗口的对象,然后可以对弹出窗口的属性进行
赋值,
var genggai : GengGaiWindow = new GengGaiWindow();
genggai.logId = adg.selectedI ......
将Flex与Spring集成后(BlazeDS 与Spring集成指南 ),第一个面临的问题就是:对于Java端返回的各种Java类型的对象,Flex中能否有相应的数据类型来映射。
处理,尤其是List、Set、Map及POJO对象值。
在 BlazeDS 与Spring集成指南 例子的基础上,调整相关的测试代码如下:
1、Java端
1.1、com.yeeach.HelloWorldService ......