MyApp.Base = function () {
}
var basePrototype = MyApp.Base["prototype"];
//对象克隆方法
basePrototype["Clone"] = function (myObj) {
if (typeof (myObj) != 'object') return myObj;
if (myObj == null) return myObj; var myNewObj = new Object(); for (var i in myObj)
myNewObj[i] = this.Clone(myObj[i]); return myNewObj;
}
//页面导航方法
basePrototype["Navigate"]=function(url)
{
window.location.href = url;
}
//页面导航方法
basePrototype["NavigateTag"] = function (tag) {
switch (tag) {
case "myHome":
this.Navigate(bootPATH + "app/html/myhome.html");
break;
case "zone":
this.Navigate(bootPATH + "app/html/header_sample.html");
break;
}
} basePrototype["SetSession"] = function (keyname, keyvalue) {
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = keyname + "=" + escape(keyvalue) + ";expires=" + exp.toGMTString();
}
basePrototype["GetSession"] = function (keyname) {
var aCookie = document.cookie.split("; ");
var lastMatch = null;
for (var i = 0; i < aCookie.length; i++) {
var aCrumb = aCookie[i].split("=");
if (keyname == aCrumb[0]) {
lastMatch = aCrumb;
}
}
if (lastMatch) {
var v = lastMatch[1];
if (v === undefined) return v;
return unescape(v);
}
return null;
}
basePrototype["ClearSession"] = function (keyname) {
if (keyname == "") {
window.localStorage.clear();
}
else {
document.cookie = null;
}
}
basePrototype["Extend"] = function (subClass, superClass) {
var F = function () { }; F.prototype = superClass.prototype; subClass.prototype = new F(); subClass.prototype.constructor = subClass; subClass.superclass = superClass.prototype; //加多了个属性指向父类本身以便调用父类函数 if (superClass.prototype.constructor == Object.prototype.constructor) { superClass.prototype.constructor = superClass; }
};
//定义全局的Base类对象
var MyAppBase = new MyApp.Base();

用法如下:

//设置Session
MyAppBase.SetSession("Username", "wahaha");
//如果设置的是一个实体类,则需要用JSON.stringify把实体转化为Json字符串保存
MyAppBase.SetSession("User", JSON.stringify(UserItem)); //获取Session
MyAppBase.GetSession("Username");
//用JSON.parse把Json字符串转化为实体
JSON.parse(MyAppBase.GetSession("User")); //跳转页面
MyAppBase.Navigate(bootPATH + "app/html/cctvlist.html"); //继承类
MyAppBase.Extend(ChildClass , ParentClass);

Js 的常用方法:页面跳转,Session,类继承的更多相关文章

  1. Asp.net页面跳转Session丢失问题

    原本去年在做项目时,写好的一记篇博客分享给大家. Asp.net页面跳转Session丢失问题   编写人:CC阿爸 2014-4-2 l  近来在做泛微OA与公司自行开发的系统集成登录的问题.在使用 ...

  2. js关闭当前页面跳转新页面

    页面代码: <p class="info"><span style="font-weight: bold">所属项目:</span ...

  3. js如何实现页面跳转(大全)

    js如何实现页面跳转(大全) 一.总结 一句话总结: 1.location的href属性: js跳转主要是通过window的location对象的href属性,因为location对象本来就是表示的浏 ...

  4. JS打开新页面跳转

      有时候使用js进行页面跳转,想使用 a 标签中 target="_blank" 形式,跳转打开一个新的页面. 可以使用以下脚本,创建一个 a标签,然后模拟点击操作. 代码如下: ...

  5. js中实现页面跳转

    1.在本页中跳转到指定页面 1.window.location.href方式    <script language="javascript" type="text ...

  6. js中实现页面跳转(返回前一页、后一页)

    一:JS 重载页面,本地刷新,返回上一页 代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a ...

  7. PHP JS HTML ASP页面跳转代码 延时跳转代码 返回到上一界面并刷新 JS弹出指定大小的新窗口

    1.PHP延时跳转代码 //跳转到浏览界面 header("Refresh:1;url=machine_list.php"); //不延时 <?php header(&quo ...

  8. js实现静态页面跳转传参

    最近有个项目: 存静态web服务,一个新闻页面列表出所有新闻摘要信息,然后通过点击新闻详情访问到该新闻的详情页面: 新闻展示的页面通过ajax请求接口获取到新闻的摘要信息,预计想通过id的方式访问到新 ...

  9. PHP JS HTML ASP页面跳转代码 延时跳转代码

    1.PHP延时跳转代码 //跳转到浏览界面 header("Refresh:1;url=machine_list.php"); //不延时 <?php header(&quo ...

  10. 在页面跳转的时候,在跳转后的页面中使用js 获取到 页面跳转的url中携带的参数。

    common.js代码 //获取URL中的参数..等等function getQueryString(name){var reg = new RegExp("(^|&)"+ ...

随机推荐

  1. Spark快速数据处理

    原书名:Fast Data Processing with Spark 原出版社:Packt Publishing 作者: (美)Holden Karau 丛书名:大数据技术丛书 出版社:机械工业出版 ...

  2. (转载)PHP解析URL并得到URL中的参数

    (转载)http://my.oschina.net/liuhui1990/blog/42232 <?php //例举一个URL格式的字符串: $str = 'http://test.com/te ...

  3. [PeterDLax著泛函分析习题参考解答]第1章 线性空间

    1. 证明定理 1. 2. 验证上述结论. 3. 证明定理 3. 4. 证明定理 4. 证明: 由 $$\bex x=\sum_{k=1}^{n-1}a_k\cdot \sum_{j=1}^{n-1} ...

  4. codeforces --- 279C Ladder

    C. Ladder time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...

  5. [原]RobotFrameWork(十一)AutoItLibrary测试库在win7(64bit)下安装及简单使用

    最近安装AutoItLibrary,发现在win7 x64下无法安装成功,后来经过定位,发现是3rdPartyTools\AutoIt目录下面AutoItX3.dll的问题.因为AutoItX3.dl ...

  6. LCD framebuffer驱动设计文档

    内容提要:1. android display相关的名词2. 调试LCD驱动需要注意的步骤3. 关于帧缓冲区及I/O内存---------------------------------------- ...

  7. android camera(一):camera模组CMM介绍

    一.摄像头模组(CCM)介绍: 1.camera特写 摄像头模组,全称CameraCompact Module,以下简写为CCM,是影像捕捉至关重要的电子器件.先来张特写,各种样子的都有,不过我前一段 ...

  8. 利用checkinstall制作deb或rpm工具包

    1. 概述 有时候我们向用户提供软件时,并不希望提供源码(虽然这挺狗的...),而是只希望提供一些可执行文件.小程序还好说,可以轻易地提取有用的信息出来. 但对于一些比较庞大的程序,尤其是需要配置文件 ...

  9. sublime text 2 运行 python时返回EOFError: EOF when reading a line错误

    其主要原因是sublime text 2中python没有与 stdin(标准输入)连接所致,解决方法也很简单,那就是安装sublimeREPL插件,然后 Tools->sublimerepl- ...

  10. liunx shell数字相加

    #!/bin/bash num1= num2= num3= #echo $($num1+$num2+$num3)#错误写法 echo $[$num1+$num2+$num3] echo $(($num ...