`
dickyzhu
  • 浏览: 107762 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

sessionemanager.htc

阅读更多
<!-- ---------------------------------------------------------------------
//
//  Copyright 2001 Chordiant Software.  All Rights Reserved.
//
//  File:         sessionemanager.htc
//
//	Auther:				Ryan Carroll
//	Created:			13/11/2001
//
//  Description:  Implements a manager for user session settings.
//
//	Changes log:
//-------------------------------------------------------------------- -->

<PUBLIC:COMPONENT tagname="sessionmanager" lightWeight="true">

<!-- Public Properties -->    

<!-- Public Methods -->    
<METHOD   NAME="setSessionSetting"				/>
<METHOD   NAME="getSessionSetting"				/>
<METHOD   NAME="removeSessionSetting"				/>
<METHOD   NAME="clearSessionSettings"			/>
<METHOD   NAME="getAllSessionSettings"			/>


<!-- Public Events -->    
<EVENT    NAME="onError"  						ID="error"		  />
<EVENT    NAME="onSessionSettingChanged" 			ID="sessionSettingChanged" />

    
<!-- Private Event Listeners -->
<ATTACH   EVENT="ondocumentready" HANDLER="setDefaults" />
// { start - performance fix
<ATTACH   EVENT="ondetach"          HANDLER="cleanUp"       />
// } end - performance fix

</PUBLIC:COMPONENT>

<SCRIPT LANGUAGE="jscript">

//+----------------------------------------------------------------------------
//
//  Global Variables
//
//-----------------------------------------------------------------------------
var sessionSettings = new Array();

// { start - performance fix
// Detach event handlers. This should always be done for event handlers that was attached with the attachEvent method.
function cleanUp() {
  if (window)
    window.detachEvent("onbeforeunload", cleanUp);
	sessionSettings = null;
}
// } end - performance fix

function sessionSettingObject(sSessionSettingName, sSessionSettingValue)
{
	this.sessionSettingName = sSessionSettingName;
	this.sessionSettingValue = sSessionSettingValue;
}

////////////////////////////////////////////////////////////////////////////////
//	Methods Section																										        // 
////////////////////////////////////////////////////////////////////////////////

//+----------------------------------------------------------------------------
//
//  Public Methods
//
//-----------------------------------------------------------------------------


//+----------------------------------------------------------------------------
//
//  Function:       setSessionSetting
//
//  Description:    
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function setSessionSetting( sSessionSettingName, sSessionSettingValue ) {
	var oSessionSetting;
	var oEvent;

	try {
    	for(var i=0; i < sessionSettings.length; i++){
    		if(sessionSettings[i].sessionSettingName == sSessionSettingName){
    			oSessionSetting = sessionSettings[i];
    			oSessionSetting.sessionSettingValue = sSessionSettingValue;
    			break;
    		}
    	}
    	
    	if(oSessionSetting == null){
    		oSessionSetting = new sessionSettingObject(sSessionSettingName, sSessionSettingValue);
    		sessionSettings[sessionSettings.length] = oSessionSetting;
    	} 
    
    	oEvent = createEventObject();
        oEvent.setAttribute("sessionSettingData", oSessionSetting);
        sessionSettingChanged.fire(oEvent);
	} catch(e) {
	  	returnError(e.toString());
	} finally {
		oSessionSetting = null;
		oEvent = null;
		sSessionSettingName = null;
		sSessionSettingValue = null;
	}	
}


//+----------------------------------------------------------------------------
//
//  Function:       getSessionSetting
//
//  Description:    
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function getSessionSetting( sSessionSettingName ) {
	try {
    	for(var i=0; i < sessionSettings.length; i++){
    		if(sessionSettings[i].sessionSettingName == sSessionSettingName){
    			return sessionSettings[i].sessionSettingValue;
    		}
    	}
    	
    	return null;
	} catch(e) {
	  	returnError(e.toString());
		return null;
	} finally {
		sSessionSettingName = null;
	}	
}


//+----------------------------------------------------------------------------
//
//  Function:       removeSessionSetting
//
//  Description:    
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function removeSessionSetting(sSessionSettingName) {
	var oRemovedSessionSetting;

	try {
    	for(var i=0; i < sessionSettings.length; i++){
    		if(sessionSettings[i].sessionSettingName == sSessionSettingName){
    			oRemovedSessionSetting = sessionSettings.splice(i,1);
    			return oRemovedSessionSetting;
    		}
    	}
    	
    	return null;
	} catch(e) {
	  	returnError(e.toString());
		return null;
	} finally {
	  	oRemovedSessionSetting = null;
		sSessionSettingName = null;
	}	
}



//+----------------------------------------------------------------------------
//
//  Function:       clearSessionSettings
//
//  Description:    
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function clearSessionSettings() {
	var oRemovedSessionSettings;

	try {
		oRemovedSessionSettings = sessionSettings.splice(0,sessionSettings.length);
	} catch(e) {
	  	returnError(e.toString());
	} finally {
	  	oRemovedSessionSettings = null;
	}	
}



//+----------------------------------------------------------------------------
//
//  Function:       getAllSessionSettings
//  Description:    
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function getAllSessionSettings() {
	var oAllSessionSettings;
	
	try {	
    	oAllSessionSettings = new Array;
    	for(var i=0; i < sessionSettings.length; i++){
    		oAllSessionSettings[oAllSessionSettings.length] = sessionSettings[i]; 
    	}
    	
    	return oAllSessionSettings;
	} catch(e) {
	  	returnError(e.toString());
		return null;
	} finally {
	  	oAllSessionSettings = null;
	}	
}


//+----------------------------------------------------------------------------
//
//  Private Methods
//
//-----------------------------------------------------------------------------


//+----------------------------------------------------------------------------
//
//  Function:       setDefaults
//
//  Description:    Called during the initialization of the behavior.  Sets
//                  the required default settings, and attaches the 
//                  onpropertychange event (not done in the header to prevent 
//                  firing the event during initialization).
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function setDefaults()
{ 
	if(element.document.media != "print") {
		//  Attach the onpropertychange event
		attachEvent("onpropertychange", doPropChange);
	}
// { start - performance fix
  window.attachEvent("onbeforeunload", cleanUp);				
// } end - performance fix
}


//+----------------------------------------------------------------------------
//
//  Function:       doPropChange
//
//  Description:    Runs on the onpropertychange event and calls the necessary
//                  functions to correctly handle the property that was just
//                  changed.
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function doPropChange()
{
 	var propertyName;
	
 	try {
         propertyName = window.event.propertyName;
     
         //  Handle CSS property changes by calling necessary functions, setting
         //  variables, and/or setting styles
         //
         if (propertyName.substring(0,5) == "style")
         {
     	   // Handle Style changes
            // switch(propertyName)
            // {
            //     case "style.zIndex"             :
            //         break;                
            // }
         }
         else
         {
             //
             //  Detach the onpropertychange event to prevent it from firing while
             //  the changes are handled
             //
             detachEvent("onpropertychange", doPropChange);
             
             // Handle Property changes
             switch(propertyName)
             {
                 //case "leftBoundary" :
                 //		leftBoundary = parseInt(leftBoundary);
                 //		setLeftBoundary(leftBoundary);
                 //    break;
                   						    
                 default :
                     returnError(propertyName + " not a valid property");
                     break;
             }
             
             //  Re-attach the onpropertychange event
             attachEvent("onpropertychange", doPropChange);
         }
	} catch(e) {
	  	returnError(e.toString());
	} finally {
	  	propertyName = null;
	}	
}


//+----------------------------------------------------------------------------
//
//  Function:       returnError
//
//  Description:    Fires the error event, along with a descriptive text
//                  message.
//
//  Arguments:      sMsg - descriptive text message
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function returnError(sMsg)
{
	var oEvent;
 	try {
        oEvent = createEventObject();
        oEvent.setAttribute("error", sMsg);
        error.fire(oEvent);
    	//alert(sMsg);
	} finally {
	  	oEvent = null;
		sMsg = null;
	}
}


</SCRIPT>

分享到:
评论

相关推荐

    22_PHP_基于KPI的医疗废弃物管理系统-源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    Python教程-快速入门基础必看课程09-文件处理

    该视频主要讲述了Python中文件的读写操作和pandas库中的subt函数来处理CSV文件。 在Python中,文件的读写操作需要使用open函数打开文件,并指定路径和模式。读取文件时,可以使用f.read()方法读取内容,并使用f.close()方法关闭文件。写入文件时,可以使用f.write()方法写入内容,并使用f.close()方法关闭文件。视频还介绍了如何在文件中进行换行操作,以及如何将文件中的内容进行读取和写入。 此外,视频还强调了在进行文件操作时需要注意的一些细节和技巧,例如文件的编码格式、内存不足问题、文件的访问权限、写入速度变慢问题等。视频还介绍了如何使用with语句来自动关闭文件,以及如何使用os模块中的函数来处理文件和文件夹。 另外,视频还讲述了如何使用pandas库中的subt函数来处理CSV文件。通过使用read函数将CSV文件读入,然后使用subt函数按照行和列进行划分。在划分时,可以根据需要选择不同的分隔符,如逗号、制表符等。通过subt函数可以将CSV文件切分成多个元素,然后将这些元素存储在一个list中。视频还展示了如何将这个list进行组合,

    《2023年度TikTok电商行业趋势白皮书》.zip

    《2023年度TikTok电商行业趋势白皮书》.zip

    网络攻防课程seed-labs实验-DNS_Attacks.zip

    网络攻防课程seed-labs实验-DNS_Attacks.zip

    sql查询数据库表结构(sql server适用)

    1. sql 语句查询sql server 数据库表结构 2. sql 语句查询sql server 数据库临时表结构 3. 可自由扩展字段,主要提供一个查询思路 4. 包括表名,列名,字段类型、主键表示、字段说明等。

    ASP.NETC#实验室预约管理系统.zip

    ASP.NET实验室预约管理系统源码 该系统的系统角色有三个:学生、教师、管理员,系统功能介绍如下: 学生功能 学生主要是四个功能。注册功能、查询功能、预约功能、学生资料管理功能。 (1)注册功能。学生进入登录界面后,如果没有注册,要先注册。注册的用户名是学生的学号。注册后才可以登录,学生在此功能里还能够修改、删除个人资料。 (2)查询功能。学生在进入主界面后,能够对想预约的课程查询或教师查询。由于老师可能教多个课程,所以有个二级选择目录。 (3)预约功能。当学生查询好信息后,就要对想要预约的实验开始预约。 (4)学生资料管理功能。学生在注册后,可以通过登录,修改自己的个人信息。 教师功能 教师也有四个功能。注册功能、查询功能、预约功能,教师的资料管理功能。只是教师和学生所使用功能的方式不一样。 (1)注册功能。老师进入登录界面后,如果没有账号,也要先注册账号,同时可以对自己的资料进行修改、删除、填加。 (2)查询功能。教师的查询功能主要是对实验室类别、项目、预约情况的查询。类别查询主要是查询实验室房间的信息;项目查询主要是查看能实验该项目的房间信息;预约查询主要是对实验室预约状况的查

    html实现儿童节庆祝项目源码

    java结合html实现儿童节庆祝代码

    操作系统课程实现Shell.zip

    操作系统课程实现Shell.zip

    一带一路下的交通发展(16组).pptx

    一带一路下的交通发展(16组).pptx

    光伏特性曲线(光照强度/温度)构建U-P以及U-I曲线

    通过MATLAB/simulink模块,构建光伏特性曲线(光照强度/温度)构建U-P以及U-I曲线,可以通过simulink模型设置光伏发电板串并联数量、光伏参数(开路电压,开路电流、最大功率点电压、最大功率点电流以及最大功率)、温度系数等,可以得到完美的U-P以及U-I曲线,通过m文件能够修改坐标轴的x轴及y轴坐标的范围。 模型使用方法,首先在MATLAB中添加文件路径,然后在MATLAB工作区中打开m文件以及slx文件,然后在MATLAB中直接运行m文件,然后回弹出相应的U-P以及U-I曲线,通过m文件能够修改光照强度的变化范围、温度的变化范围,总共可以得到光照强度以及温度共四个U-P以及U-I曲线图。

    Python爬取百度贴吧数据.zip

    python爬虫案例

    43_超市管理系统-源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    农业农村部特聘审计员推荐表.doc

    农业农村部特聘审计员推荐表.doc

    132_基于Java的动物拯救游戏-源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    农垦农产品质量追溯系统建设项目验收申请书目录.doc

    农垦农产品质量追溯系统建设项目验收申请书目录.doc

    8_Android app作业-源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    本人本科毕业论文创建的算例

    本人本科毕业论文创建的算例

    苹果刷机完整教程【中英双语对照】_20231121153540.zip

    苹果刷机完整教程【中英双语对照】_20231121153540.zip

    删除顺序表中指定值的所有元素.md

    删除顺序表中指定值的所有元素

Global site tag (gtag.js) - Google Analytics