- 浏览: 102731 次
- 性别:
- 来自: 大连
文章分类
最新评论
1、使用FLEX自带SharedObject
做登录等类的身份验证功能,传统的WEB开发基本上都要使用session或是cookit。然而在Flex中并没有提供直接操作cookit或是 session的方法。经过查资料发现,Flex提供了SharedObject这个本地对象。有人把它称为“Flash Cookie ”。还真是形 象啊,呵,不管怎么说,毕竟还是有解决办法的。
SharedObject提供了下面的操作本地对象的方法:
SharedObject.clear() 删除本地共享对象;
SharedObject.flush() 立即把共享对象数据写入本地文件;
SharedObject.getLocal() 创建或连接本地共享对象;
SharedObject.getSize() 取得本地共享对象的指定大小数据。
程序代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init(event)" borderColor="#FFFFFF" themeColor="#FFFFFF" width="800" height="600" backgroundColor="#FFFFFF" textAlign="center" verticalAlign="middle" horizontalAlign="center" backgroundImage="@Embed(source='lt1.jpg')">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
private function init(event:FlexEvent):void {
// 创建一个本地保存数据的对象s
var test:SharedObject = SharedObject.getLocal("testcookie");
test.data.user = "testuser";
test.data.psw = "testpwd";
test.flush(); //提交保存
var test2: SharedObject = SharedObject.getLocal("testcookie");
Alert.show(test2.data.user);
Alert.show(test2.data.psw);
}
]]>
</mx:Script>
</mx:Application>
2、使用JAVASCRIPT实现
flex 中 使用 JavaScript 写 Cookie/**
*写Cookie
*
* name 保存到Cookie中的名称
* text 保存到Cookie中的实际值
* savetime 保存到Cookie中的时间
*/
function writeCookie(name,text,savetime)
{
getUrl("javascript:function writeCookie(name, value, hours) "+
" { "+
" var expire = ''; "+
" if(hours != null) "+
" { " +
" expire = new Date((new Date()).getTime() + hours * 3600000); " +
" expire = '; expires=' + expire.toGMTString();"+
" }" +
" document.cookie = name + '=' + escape(value) + expire;"+
"} "+
" writeCookie('"+name+"','"+text+"',"+savetime+"); " );
}
/**
*读Cookie
* flexname flex 中定义的变量
* name 保存到Cookie中的名称
*
flexname 例子:
function set user_name(txt:String) {
username.text=txt; //可以根据情况保存到对应的变量或域中
}
readCookie("user_name",'name');
*/
function readCookie(flexname,name)
{
getUrl( " Javascript: "+
" var name ='"+name+"' ;"+
" var cookieValue = ''; "+
" var search = name + '='; "+
" if(document.cookie.length > 0) "+
" { "+
" offset = document.cookie.indexOf(search); "+
" if (offset != -1) "+
" { "+
" offset += search.length; "+
" end = document.cookie.indexOf(';', offset); "+
" if (end == -1) end = document.cookie.length; "+
" cookieValue = unescape(document.cookie.substring(offset, end)) "+
" } "+
" } "+
" window.document.getElementsByTagName('object')[0].SetVariable ('"+flexname+"',cookieValue);" );
}
3、使用JSP实现
Cookieapp.jsp 文件
<%@ taglib uri="FlexTagLib" prefix="mm"%>
<SCRIPT LANGUAGE="JavaScript">
<!--
function setCookie(userId) {
document.cookie = "userId="+escape(userId);
}
function getCookie() {
var cookieStr = document.cookie;
var index = cookieStr.indexOf("userId=");
if (index == -1) return null;
index = cookieStr.indexOf("=", index) + 1;
var endstr = cookieStr.indexOf(";", index);
if (endstr == -1) endstr = cookieStr.length;
window.document.flexApp.SetVariable("userIdJS", unescape(cookieStr.substring(index, endstr)));
}
-->
</SCRIPT>
<mm:mxml name="flexApp" source="cookie.mxml"/>
cookie.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" width="300" height="400">
<mx:Script>
function setCookie() {
srv.send({action: 'set', userId: userId.text});
}
function getCookie() {
srv.send({action: 'get'});
}
function setCookieJS() {
getURL("javascript:setCookie('"+userId.text+"')");
}
function getCookieJS() {
getURL("javascript:getCookie()");
}
// callback function invoked by the getCookie() JavaScript function in cookieapp.jsp
function set userIdJS(userIdJS:String) {
userId.text=userIdJS;
}
</mx:Script>
<mx:HTTPService id="srv" url="cookie.jsp" useProxy="false" method="POST"
result="userId.text=srv.result.userId"/>
<mx:Label text="UserId:"/>
<mx:TextInput id="userId"/>
<mx:Button label="Set Cookie Value Using JSP" width="220" click="setCookie()"/>
<mx:Button label="Set Cookie Value Using JavaScript" click="setCookieJS()"/>
<mx:Button label="Get Cookie Value Using JSP" width="220" click="getCookie()"/>
<mx:Button label="Get Cookie Value Using JavaScript" width="220" click="getCookieJS()"/>
</mx:Application>
做登录等类的身份验证功能,传统的WEB开发基本上都要使用session或是cookit。然而在Flex中并没有提供直接操作cookit或是 session的方法。经过查资料发现,Flex提供了SharedObject这个本地对象。有人把它称为“Flash Cookie ”。还真是形 象啊,呵,不管怎么说,毕竟还是有解决办法的。
SharedObject提供了下面的操作本地对象的方法:
SharedObject.clear() 删除本地共享对象;
SharedObject.flush() 立即把共享对象数据写入本地文件;
SharedObject.getLocal() 创建或连接本地共享对象;
SharedObject.getSize() 取得本地共享对象的指定大小数据。
程序代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init(event)" borderColor="#FFFFFF" themeColor="#FFFFFF" width="800" height="600" backgroundColor="#FFFFFF" textAlign="center" verticalAlign="middle" horizontalAlign="center" backgroundImage="@Embed(source='lt1.jpg')">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
private function init(event:FlexEvent):void {
// 创建一个本地保存数据的对象s
var test:SharedObject = SharedObject.getLocal("testcookie");
test.data.user = "testuser";
test.data.psw = "testpwd";
test.flush(); //提交保存
var test2: SharedObject = SharedObject.getLocal("testcookie");
Alert.show(test2.data.user);
Alert.show(test2.data.psw);
}
]]>
</mx:Script>
</mx:Application>
2、使用JAVASCRIPT实现
flex 中 使用 JavaScript 写 Cookie/**
*写Cookie
*
* name 保存到Cookie中的名称
* text 保存到Cookie中的实际值
* savetime 保存到Cookie中的时间
*/
function writeCookie(name,text,savetime)
{
getUrl("javascript:function writeCookie(name, value, hours) "+
" { "+
" var expire = ''; "+
" if(hours != null) "+
" { " +
" expire = new Date((new Date()).getTime() + hours * 3600000); " +
" expire = '; expires=' + expire.toGMTString();"+
" }" +
" document.cookie = name + '=' + escape(value) + expire;"+
"} "+
" writeCookie('"+name+"','"+text+"',"+savetime+"); " );
}
/**
*读Cookie
* flexname flex 中定义的变量
* name 保存到Cookie中的名称
*
flexname 例子:
function set user_name(txt:String) {
username.text=txt; //可以根据情况保存到对应的变量或域中
}
readCookie("user_name",'name');
*/
function readCookie(flexname,name)
{
getUrl( " Javascript: "+
" var name ='"+name+"' ;"+
" var cookieValue = ''; "+
" var search = name + '='; "+
" if(document.cookie.length > 0) "+
" { "+
" offset = document.cookie.indexOf(search); "+
" if (offset != -1) "+
" { "+
" offset += search.length; "+
" end = document.cookie.indexOf(';', offset); "+
" if (end == -1) end = document.cookie.length; "+
" cookieValue = unescape(document.cookie.substring(offset, end)) "+
" } "+
" } "+
" window.document.getElementsByTagName('object')[0].SetVariable ('"+flexname+"',cookieValue);" );
}
3、使用JSP实现
Cookieapp.jsp 文件
<%@ taglib uri="FlexTagLib" prefix="mm"%>
<SCRIPT LANGUAGE="JavaScript">
<!--
function setCookie(userId) {
document.cookie = "userId="+escape(userId);
}
function getCookie() {
var cookieStr = document.cookie;
var index = cookieStr.indexOf("userId=");
if (index == -1) return null;
index = cookieStr.indexOf("=", index) + 1;
var endstr = cookieStr.indexOf(";", index);
if (endstr == -1) endstr = cookieStr.length;
window.document.flexApp.SetVariable("userIdJS", unescape(cookieStr.substring(index, endstr)));
}
-->
</SCRIPT>
<mm:mxml name="flexApp" source="cookie.mxml"/>
cookie.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" width="300" height="400">
<mx:Script>
function setCookie() {
srv.send({action: 'set', userId: userId.text});
}
function getCookie() {
srv.send({action: 'get'});
}
function setCookieJS() {
getURL("javascript:setCookie('"+userId.text+"')");
}
function getCookieJS() {
getURL("javascript:getCookie()");
}
// callback function invoked by the getCookie() JavaScript function in cookieapp.jsp
function set userIdJS(userIdJS:String) {
userId.text=userIdJS;
}
</mx:Script>
<mx:HTTPService id="srv" url="cookie.jsp" useProxy="false" method="POST"
result="userId.text=srv.result.userId"/>
<mx:Label text="UserId:"/>
<mx:TextInput id="userId"/>
<mx:Button label="Set Cookie Value Using JSP" width="220" click="setCookie()"/>
<mx:Button label="Set Cookie Value Using JavaScript" click="setCookieJS()"/>
<mx:Button label="Get Cookie Value Using JSP" width="220" click="getCookie()"/>
<mx:Button label="Get Cookie Value Using JavaScript" width="220" click="getCookieJS()"/>
</mx:Application>
发表评论
-
AS3 经典的代码库
2013-03-29 16:39 03D引擎 Papervision3Dhttp://b ... -
AS3开源资源整理
2013-03-29 16:38 0一个使用Stage3D APIs 实现 ... -
如何自定义VideoPlayer的全屏行为
2012-12-13 16:58 1337Flex4中增加了一个视频播放组件:VideoPlayer,相 ... -
代码改变影片剪辑亮度、色调、高级、透明度的方法
2012-12-03 08:41 876通过Color类来改变影片颜色 亮度:(设置影片明暗效果) ... -
as3自己写皮肤
2012-11-30 09:47 0<?xml version="1.0" ... -
AS3 正则表达式详解
2012-11-30 09:27 01.新建正则表达式,有两 ... -
TweenLite用法
2012-11-30 09:26 0TweenLite 是一个缓动的类 ... -
AS3位图的加载、拷贝、绘制
2012-11-30 09:26 0建Bitmap可以是使用Bitmap ... -
AS3中的反射
2012-11-30 09:25 669什么是反射 反射 (Reflection) 是指在程序在运行时 ... -
AS3文本操作
2012-11-30 09:03 1238设置文本框的边框、背景与前景色 默认状态下,文本框的边框和背景 ... -
as3日期格式化以及htmlText的安全转义类
2012-11-30 08:57 1049package org.juke{ ... -
Flash AS3.0关于TextField的过滤,HTML格式,对齐,换行等介绍
2012-11-30 08:56 1386过滤文字输入 TextField.restrict = &q ... -
AS3碎裂重组特效
2012-11-26 15:04 892碎裂指的是图片的碎裂 那我们要先做的是就是得到这张图片,在a ... -
Flash AS3.0实例---接近鼠标的图片缓动效果
2012-11-26 15:02 1189当鼠标移动到图片的一定位置时,图片会缓冲移动到鼠标位置,在现 ... -
flex air 启动本地应用程序
2012-11-26 09:23 862在air 2.0中,可以利用NativeProcess启动本地 ... -
as3打开和保存本地文件
2012-11-26 08:52 2410package { import flash.displa ... -
FLV视频类播放器全屏切换完整AS代码示例
2012-11-21 10:53 843function setFullScreen() { ... -
as3冒泡排序
2012-11-20 09:12 0<?xml version="1.0" ... -
Flex在Image组件使用蒙板
2012-11-16 17:34 0Flex在Image组件使用蒙板 1.Flex SDK3.0 ... -
Flex导入Excel文件示例
2012-11-16 17:33 01.SDK3.0 2.导入文件用FileFilter过滤。由于 ...
相关推荐
要实现Flex4中读取Cookie的功能,我们需要利用Flash Player提供的API。在ActionScript 3.0中,我们可以使用`flash.net.Cookie`类来操作Cookie。这个类提供了一些方法,如`getCookie()`,用于读取特定域名下的Cookie...
【标题】"myamfphp 实现php与flex交互"涉及的是在Web开发中使用PHP和Adobe Flex进行数据通信的技术。myAMFPHP是一个开源项目,它提供了在PHP和Flex之间进行高效、低延迟的数据交换机制,使得动态内容可以通过Action ...
Flex是由Adobe公司开发的一种用于构建富互联网应用程序(RIA)的框架...以上就是使用Flex构建登录表单涉及的主要知识点,从界面构建到功能实现,再到错误处理和用户体验优化,每个环节都体现了Flex的强大功能和灵活性。
在本项目中,"基于Flex的时钟实现及代码" 涉及到的是使用Flex技术来设计和开发一个动态的时钟组件。 Flex提供了强大的组件库,其中包括可以用于构建各种用户界面元素的基础类,如按钮、文本框等。对于时钟应用来说...
在Flex中,主要涉及的技术包括ActionScript、MXML以及Flex SDK和Flex Builder。ActionScript是Flex的核心编程语言,基于ECMAScript,用于编写业务逻辑和控制应用行为。MXML是一种声明式语言,常用来构建UI组件和定义...
Flex和Flash是两种在Web开发中广泛使用的技术,它们各自有着独特的优势,但在某些场景下,需要它们相互协作,实现更复杂的功能。本教程通过一个实际的调用实例,展示了Flex与Flash如何相互通信。 Flex是基于...
共享对象(SharedObject)是Flex中的一个重要特性,它允许在客户端存储数据,类似于浏览器的Cookie,但提供了更大的存储容量(最大100KB本地,5MB远程)。在聊天室应用中,SharedObject可以用来缓存用户的个人信息,...
本文将深入探讨Flex中的一个重要组件——ShareObject,也称为本地共享对象,它允许应用程序在用户计算机上存储数据,实现数据的持久化。 ShareObject是Flex提供的一种轻量级的数据存储解决方案,它类似于Web浏览器...
总之,这个压缩包提供的示例是一个关于如何在Flex 3.0环境中使用ActionScript实现Flash Cookie存储的实践教程。通过研究和理解这些源代码,开发者可以学习到如何在不同的浏览器环境下利用Flash技术进行数据持久化,...
### flex 利用FileReference上传firefox报2038错误 ...通过上述分析和讨论,我们可以看出在处理Flex应用中的文件上传问题时,需要综合考虑多个方面的影响因素,并采取适当的措施来解决实际遇到的问题。
在这里,开发者可能会实现一个Cookie类,包含读取Cookie值、检查有效性、比较签名等功能。 `StdAfx.cpp`、`StdAfx.h`通常是在Visual Studio项目中用于预编译头文件的,它们可以提高编译速度。`StdAfx.h`包含了常用...
“FlashMX/Flex源码”在描述中被提及为适用于“各大论坛注册程序”,这暗示了这些源码可能涉及到网络表单处理、用户验证、数据提交等常见论坛功能的实现。在Web开发中,这类功能通常涉及HTTP协议、Cookie管理、...
经过两天的研究实现了基本的功能。在安全性配置方面暂时的方案是将网站添加...ps:这两天也学了点flex,有哪位知道silverlight或者flex在form-auth方面是需要编码发送数据认证还是可以自动读取同域的cookie发送进行认证?
本文将详细讲解如何使用HTML、CSS、JavaScript、jQuery和axios库来实现这个功能。 首先,HTML(HyperText Markup Language)是网页内容的基础,负责结构化的文档布局。在`index.html`文件中,你需要创建两个表单,...
在JSP页面中,开发者可能使用了EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)来简化视图层的编码,提高代码的可读性和维护性。 视频聊天功能的实现涉及到音视频编解码技术,如H.264...
下面我们将详细讲解这些技术在实现这一目标时所扮演的角色。 首先,HTML(超文本标记语言)是网页内容的基础,它定义了页面的结构和内容。在"tufei-shangcheng"这个项目中,HTML文件会包含各种元素,如头部、导航栏...
在网页设计中,有时我们需要实现一种功能,即用户关闭一次全屏图片广告后,再次刷新页面或下次访问时,该广告不再出现。这种效果可以通过结合HTML、CSS和JavaScript(特别是jQuery库)来实现,同时利用Cookie技术来...
ShareObject对象是Adobe Flex中用于数据共享的一种机制,它能够帮助开发者在客户端和服务器端之间存储和...在开发过程中,合理利用ShareObject可以提高用户体验,尤其是在需要跨会话保存数据或实现多用户协作的应用中。
- **存储位置**:`sessionStorage`和`localStorage`数据存储在客户端浏览器中,而cookie数据既存储在客户端也存储在服务器端。 - **存储大小**:`sessionStorage`和`localStorage`的存储容量相对较大,一般为5MB左右...
- Cookie、sessionStorage、localStorage的存储时长和作用域不同,sessionStorage仅在当前会话中有效,而localStorage可长期保存。 - web worker可以运行在浏览器后台的脚本,独立于主线程之外,避免阻塞UI更新。 ...