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. WordPress Videowall插件‘page_id’参数跨站脚本漏洞

    漏洞名称: WordPress Videowall插件‘page_id’参数跨站脚本漏洞 CNNVD编号: CNNVD-201310-502 发布时间: 2013-10-23 更新时间: 2013-1 ...

  2. BZOJ3210: 花神的浇花集会

    3210: 花神的浇花集会 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 238  Solved: 119[Submit][Status] Descri ...

  3. jackson 常见问题

    org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type   org.codehaus ...

  4. -_-#【JS】element.click()

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 推荐一个Xcode插件: KSImageNamed (自动补全图片文件名称, 并显示图片大小)

    http://www.csdn.net/article/2014-05-04/2819586-the-best-xcode-plugins 5. KSImageNamed KSImageNamed是一 ...

  6. clang failed with exit code 1 的常见情况

    1:文件重复,如生成了一份  xxx副本.m 2:reachablity.h 这个文件经常重复. 以上优先检查 .

  7. Android Volley - volley StringRequest編碼問題

    有些時候這個類並不能很好的解決中文編碼問題 如果出現亂碼,就 要重寫該類的parseNetworkResponse 方法了. 繼承StringRequest,然後重寫parseNetworkRespo ...

  8. ruby脚本打印日志到rspec的报告文件中

    在通过ruby+webdriver+rspec做自动化测试的时候,为了便于观察用例执行情况,我基本上都会用 rspec XX.rb --format doc -o result.log 如果遇到失败的 ...

  9. 关于 Unity UGUI 中修改 Mask 组件下 Image 等子节点组件的材质无效的问题

    前几天同事做了一个效果,希望在原本使用了遮罩组件 Mask 的技能图标(让技能图标变成圆形)上在添加一个置灰的功能,但问题来了:因为是动态根据游戏中玩家的条件才动态置灰,以修改 Mask 下子节点 I ...

  10. [leetcode]重建二叉树(先序和终须) 中序遍和后续

    分割后长度相等,就是参数麻烦,p,先序的起始点, ib,ie 终须的结束和开始. /** * Definition for binary tree * public class TreeNode { ...