页面只能打开一次Cooike如何实现


Posted in Javascript onDecember 04, 2012

最近在做webIM,嵌入到OA系统,由于WEBIM处在独立页面,所以如果多次点击就会出现多个页面,这样在IE6下,服务器推送会认不到页面.所以有了下面的代码:

<script language="javascript" type="text/javascript"> 
window.onload = function () { 
if (GetCookie("IsOpen") == "") { 
SetCookie("IsOpen", "1"); 
StartService(); 
} else { 
window.onunload = null; 
window.opener = null; 
window.open("", "_self"); 
window.close(); 
} 
} window.onunload = function () { 
if (GetCookie("IsOpen") != "") 
DeleteCookie("IsOpen"); 
} 
function GetCookieVal(offset) { 
/// <summary> 
/// //取得项名称为offset的cookie值 
/// </summary> 
/// <param name="name">Cookie名称</param> 
var endstr = document.cookie.indexOf(";", offset); 
if (endstr == -1) 
endstr = document.cookie.length; 
return unescape(document.cookie.substring(offset, endstr)); 
} 
function GetCookie(name) { 
/// <summary> 
/// 根据名称获得Cookie值 
/// </summary> 
/// <param name="name">Cookie名称</param> 
var arg = name + "="; 
var alen = arg.length; 
var clen = document.cookie.length; 
var i = 0; 
while (i < clen) { 
var j = i + alen; 
if (document.cookie.substring(i, j) == arg) 
return GetCookieVal(j); 
i = document.cookie.indexOf(" ", i) + 1; 
if (i == 0) break; 
} 
return ""; 
} 
function SetCookie(name, value) { 
/// <summary> 
/// 设置Cookie 
/// </summary> 
/// <param name="name">Cookie名称</param> 
/// <param name="value">Cookie值</param> 
var argc = SetCookie.arguments.length; 
var argv = SetCookie.arguments; 
var path = (argc > 3) ? argv[3] : null; 
var domain = (argc > 4) ? argv[4] : null; 
var secure = (argc > 5) ? argv[5] : false; 
document.cookie = name + "=" + value + 
((path == null) ? "" : ("; path=" + path)) + 
((domain == null) ? "" : ("; domain=" + domain)) + 
((secure == true) ? "; secure" : ""); 
} 
function DeleteCookie(name) { 
/// <summary> 
/// 删除Cookie 
/// </summary> 
/// <param name="name">Cookie名称</param> 
var exp = new Date(); 
exp.setTime(exp.getTime() - 1); 
var cval = GetCookie(name); 
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString(); 
} 
</script>

把上面的代码,放到head下面就可以了.呵呵够简单了吧?当然上面的代码主要解决的是用超链接打开的页面,如果是window.open打开的页面呢,那就更简单了,代码如下:
var win = null;//定义一个变量去判断就可以了 
if (win == null) 
{ 
win=window.open("Main.aspx", '', strfeatures); 
}

Javascript 相关文章推荐
自适应图片大小的弹出窗口
Jul 27 Javascript
最新的10款jQuery内容滑块插件分享
Sep 18 Javascript
浅谈EasyUI常用控件的禁用方法
Nov 09 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
Jan 16 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
Nov 27 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
Dec 13 Javascript
webpack 样式加载的实现原理
Jun 12 Javascript
详解.vue文件中style标签的几个标识符
Jul 17 Javascript
vue自定义指令的创建和使用方法实例分析
Dec 04 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
Oct 17 Javascript
angular inputNumber指令输入框只能输入数字的实现
Dec 03 Javascript
实例讲解React 组件
Jul 07 Javascript
解析John Resig Simple JavaScript Inheritance代码
Dec 03 #Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
Dec 03 #Javascript
js函数调用常用方法详解
Dec 03 #Javascript
JS随即打乱数组实现代码
Dec 03 #Javascript
JS图片预加载 JS实现图片预加载应用
Dec 03 #Javascript
输入密码检测大写是否锁定js实现代码
Dec 03 #Javascript
js操作textarea 常用方法总结
Dec 03 #Javascript
You might like
PHP仿盗链代码
2012/06/03 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
2015/06/17 PHP
php中__toString()方法用法示例
2016/12/07 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
JavaScript中setInterval的用法总结
2013/11/20 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
详解Immutable及 React 中实践
2018/03/01 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
element-ui 限制日期选择的方法(datepicker)
2018/05/16 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python中使用PIPE操作Linux管道
2015/02/04 Python
python3实现短网址和数字相互转换的方法
2015/04/28 Python
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
windows及linux环境下永久修改pip镜像源的方法
2016/11/28 Python
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
python+OpenCV实现图像拼接
2020/03/05 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
淘宝活动策划方案
2014/02/06 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
上诉答辩状范文
2015/05/22 职场文书