`
lwz7512
  • 浏览: 332677 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个openlaszlo使用flash的共享对象实现保存客户端信息的例子

阅读更多

原文在这里:
http://forum.openlaszlo.org/showthread.php?p=25458#post25458

部分摘录如下:

-----------------------------------------------
localcache.lzx
-----------------------------------------------

<library>

<!---
* LocalCache
*
* A dictionary for localy cached data.
* It allows an application to maintain state or to enable the app
* to provide a user with an interface to create a list of keys
* and save and load data for each key,
* essentially creating a temporary local file store
* of xml documents or datasets
*
* We have APP_NAME and CACHE_VER constants
* that we use to version the keysets locally
* so that anytime that an app needs to make a change
* to the local datastructure it can bump up the version
* to avoid datastructure version problems between instances in the wild
* the appname is so that different apps from the same domain
* and which use the same code, don't step on each other's data
*
* expected use for maintaining application state
* // oninit
* if (gLocalCache.testWriteable())
* if(gLocalCache.checkLocalKey("mysavedstate"))...{
* mydata=gLocalCache.getLocalData("mydataname");
* // create LzDataElement with mydata
* }
 else ...{
* // create key and initialize with data
* gLocalCache.saveLocalKey("mydataname");
* gLocalCache.saveLocalData("mydataname", ds_state.serialize());
* }

* } else ...{
* // deal with the case where local data has been disabled
* }

*
-->

<!-- CONSTANTS -->
<script>
var APP_NAME ="app";
var CACHE_VER = "1";
</script>

<!-- CLASSES -->
<script>
<![CDATA[

//--------------------------------------------------------------------------------
//
 LocalCache Constructor
//
--------------------------------------------------------------------------------
function LocalCache() ...{
// Debug.write("created");
}

LocalCache.prototype 
= new Object();
LocalCache.prototype.constructor 
= LocalCache;
Object.registerClass(
"LocalCache", LocalCache);

//--------------------------------------------------------------------------------
//
 testWriteable
//
--------------------------------------------------------------------------------
LocalCache.prototype.testWriteable = function()...{
var retval = true;
var tstWriteObj = SharedObject.getLocal("tst");
if(!tstWriteObj.flush(10000)) ...{
// local cache is disabled
retval = false;
}

delete tstWriteObj;
return retval;
}


//--------------------------------------------------------------------------------
//
 saveLocalKeyDataPair
//
--------------------------------------------------------------------------------
LocalCache.prototype.saveLocalKeyDataPair = function(key, data)...{
if (this.testWriteable())...{
if (this.checkLocalKey(key))...{
this.saveLocalData(key,data);
return "Saved the data, overwriting anything that was there";
}
 else ...{
this.saveLocalKey(key);
this.saveLocalData(key,data);
return "Created the key and saved the data.";
}

}
 else ...{
return "The user has disabled the local shared object";
}

}


//--------------------------------------------------------------------------------
//
 getLocalData
//
--------------------------------------------------------------------------------
LocalCache.prototype.getLocalData = function(key)...{
var localObj = SharedObject.getLocal( APP_NAME+CACHE_VER);
return localObj.data[key];
}


//--------------------------------------------------------------------------------
//
 getLocalKeys
//
--------------------------------------------------------------------------------
LocalCache.prototype.getLocalKeys = function()...{
var localObj = SharedObject.getLocal( APP_NAME+CACHE_VER);
return localObj.data.keys;
}


//--------------------------------------------------------------------------------
//
 saveLocalKey
//
--------------------------------------------------------------------------------
LocalCache.prototype.saveLocalKey = function(key)...{
var localObj = SharedObject.getLocal( APP_NAME+CACHE_VER);

if(localObj.data.keys == null...{
localObj.data.keys 
= new Array(key);
}
 else ...{
ifthis.checkLocalKey(key))...{
// then it already exists
}
 else ...{
localObj.data.keys.push(key);
localObj.data[key] 
= "";
}

}

localObj.flush();
delete localObj;
}


//--------------------------------------------------------------------------------
//
 checkLocalKey
//
--------------------------------------------------------------------------------
LocalCache.prototype.checkLocalKey = function(key)...{
var localObj = SharedObject.getLocal( APP_NAME+CACHE_VER);
var len = localObj.data.keys.length;
var retval = false;
for(i=0; i<len; i++)...{
if(localObj.data.keys[i] == key)...{
// it exists
retval = true;
}

}

return retval;
}


//--------------------------------------------------------------------------------
//
 deleteLocalKey
//
--------------------------------------------------------------------------------
LocalCache.prototype.deleteLocalKey = function(key)...{
var localObj = SharedObject.getLocal( APP_NAME+CACHE_VER);
var len = localObj.data.keys.length;

// delete the data if it exists first
this.deleteLocalData(key);

// then find and remove the key from the list
for(i=0; i<len; i++)...{
if(localObj.data.keys[i] == key)
分享到:
评论

相关推荐

    Applet & Openlaszlo

    例如,一个在线软件商店可能使用Applet来处理文件的传输和安装逻辑,而OpenLaszlo则提供用户界面和动态展示。 总之,Applet和OpenLaszlo的结合利用了两者的优点,为Web开发提供了强大的工具。虽然Applet现在已经...

    openlaszlo本地帮助文档

    手册中的"labs.openlaszlo.org"可能是一个指向OpenLaszlo官方实验室的链接,这个实验室通常包含各种示例、实验项目和最新的技术探索,是学习和了解OpenLaszlo最新功能的好地方。在这里,开发者可以找到实际的代码...

    OpenLaszlo-SAMSIG-05.ppt

    OpenLaszlo 是一个开放源代码平台,旨在为全球范围内的互联网提供丰富的应用程序开发及交付服务。它由 Laszlo Systems 公司于 2001 年发起,并在随后几年中迅速发展起来。 **项目历史** - **2001年**:Laszlo ...

    OpenLaszlo —— 一个快速构建和部署富 Internet 应用程序的平台

    OpenLaszlo —— 一个快速构建和部署富 Internet 应用程序的平台 -- Linux,C,C++,Java,Ajax,XML,perl,php,python,ruby,MySQL,Gnome,KDE,Qt,Gtk,bash,shell,嵌入式,网络,信息安全,操作系统,数据结构,编译原理

    openlaszlo-4.9.0-windows-dev-install.part2.rar

    openlaszlo应用程序开发使用的是基于XML的LZX语言,它可以被编译成DHMTL,SWF等格式。 openlaszlo可作为openmeetings客户端的编译。 因安装程序90+MB,所以切分为两个压缩包。 openlaszlo-4.9.0-windows-dev-install....

    openlaszlo-4.9.0-windows-dev-install.part1.rar

    openlaszlo应用程序开发使用的是基于XML的LZX语言,它可以被编译成DHMTL,SWF等格式。 openlaszlo可作为openmeetings客户端的编译。 因安装程序90+MB,所以切分为两个压缩包。 openlaszlo-4.9.0-windows-dev-install....

    改造OpenMeetings成为Flash视频会议室(二)

    在本文中,我们将探讨如何改造OpenMeetings成为一个基于Flash的视频会议室。OpenMeetings是一个开源的在线协作平台,它提供了多种功能,如视频会议、白板、屏幕共享等。为了将其转变为Flash视频会议室,我们需要对它...

    wince下实现flash

    文件"fcsetup_27832.exe"可能是一个针对WinCE的Flash Player安装程序。 4. **移植步骤** - **环境准备**:确保开发环境具备WinCE SDK、模拟器或实际硬件设备。 - **获取适配的Flash Player**:寻找与WinCE兼容的...

    geoar:WMSWFS OpenLaszlo 客户端

    它是在 LZX (OpenLaszlo) 上开发的,因此它向用户的浏览器提供 dhtml 或 flash,从而提供在它们之间进行选择的机会,但只有一个服务器的源代码。版本遵循 [语义版本规范] ( ) 当前版本 &gt; 1.5.0作者

    论文研究-使用OpenLaszlo构建J2EE中的RIA程序 .pdf

    使用OpenLaszlo构建J2EE中的RIA程序,高春阳,龚群侃,当前,Web 应用程序就要进入了一个新的时期,富互联网客户端(RIA ,Rich Internet Application) 以其极大地用户交互性、优秀的外观设计、良好��

    改造OpenMeetings成为Flash视频会议室(一)

    4. **OpenLaszlo**:这是一个用于创建富互联网应用程序的开源平台,支持编译为Flash或JavaScript。在OpenMeetings中,OpenLaszlo被用来构建用户界面和交互功能。 5. **MySQL或其他兼容Hibernate的数据库**:存储...

    openlaszlo-4.7.3-windows-dev-install (1).exe

    openlaszlo应用程序开发使用的是基于XML的LZX语言,它可以被编译成DHMTL,SWF等格式。 是openmeetings视频会议系统的默认开发编译工具。

    改造OpenMeetings成为Flash视频会议室(三)

    OpenMeetings是一个开源的在线会议系统,而本文主要关注如何将其改造为基于Flash的视频会议室。在这一部分,我们将深入探讨如何理解和修改OpenMeetings的源代码,特别是针对那些不熟悉OpenLaszlo开发语言的开发者。 ...

    openlaszlo计算器

    这是用Openlaszlo开发的计算器程序,可以实现基本的计算操作。 我是刚学openlaszlo,欢迎朋友们提出宝贵意见!

    windows server 2003下安装openmeetings2.1版

    OpenMeetings使用了OpenLaszlo的新流媒体格式,并基于开源Flash服务器Red5运行,而Red5是一个用Java编写的流媒体服务器。该系统遵守LGPL开源协议,保证了自由和免费的使用特性。 为在Windows Server 2003上成功搭建...

    Laszlo技术手册续

    OpenLaszlo Server是一个完整的解决方案,包含了LPS和Tomcat,使得Laszlo应用能够无缝集成到Web环境中。 **Laszlo的运行环境** 1. **LPS和Java Servlet容器**:LPS是Laszlo应用程序的基础,它将LZX文件转化为Java ...

    FlashBuilder_4_LS10.part01.rar

    FlashBuilder开发工具,是开发java网页及OpenLaszlo,Laszlo富客户端必备工具。本人安装在电脑运行正常。

    huoyan.zip_火焰识别c++

    在描述中提到了“api c++”和“火焰效果”,暗示这可能是一个使用C++ API实现的,能够产生或检测火焰视觉效果的代码库。 首先,我们需要理解API(应用程序接口)的概念。API是一组预定义的函数、类、对象和常量,...

Global site tag (gtag.js) - Google Analytics