百度前端技术学院2015JavaScript基础部分-BOM

5.1 任务描述

实现以下函数

// 判断是否为IE浏览器,返回-1或者版本号
function isIE() {
// your implement
} // 设置cookie
function setCookie(cookieName, cookieValue, expiredays) {
// your implement
} // 获取cookie值
function getCookie(cookieName) {
// your implement
}

1.判断是否为IE浏览器,则需要利用ie仅有的属性,ActiveXObject,在ie10之前,直接利用window.ActiveXObeject进行判断,但是在ie11出现后,则出现了异常,要想兼容所有的IE浏览器,可以用return (ActiveXObject in window); 在客户端浏览器检测中最重要的对象是navigator对象,navigator对象是最早实现的BOM对象之一。它包含一些浏览器信息的属性,比如名称,版本号,平台。userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。一般来讲,它是在 navigator.appCodeName 的值之后加上斜线和 navigator.appVersion 的值构成的。例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)。我们需要的版本号就是字符串的第10位到11位之间的字符串。

// 判断是否为IE浏览器,返回-1或者版本号
//兼容IE10和IE11
function isIE() {
// your implement
if("ActiveXObeject" in window) {
return navigator.userAgent.slice(,);
}
else{
return -;
};
}

2.cookie是用来保存用户的个人信息,比如用户的用户名和登录密码之类的,可以方便用户,cookie有多个参数,设置cookie的名称和值,必需,一次只能设置一个。其他的都是可选的,利用doucument.cookie可以存储cookie。代码实现如下:

// 设置cookie
function setCookie(cookieName, cookieValue, expiredays) {
// your implement
document.cookie = cookieName + "=" +cookieValue + ";expires=" + expiredays;
}

3.获取cookie的名称获取cookie值,首先可以把cookie存储信息的字符串,转化成一个数组,这样就能够让每个对键值放在一起,方便第二次操作。然后在对数组进行分隔,如果发现数组的第一个值与我们要想获得的值一致的话,那么该数组的第二个元素就是我们想要的值。代码如下:

// 获取cookie值
function getCookie(cookieName) {
// your implement
var cookie = document.cookie.split(";");
each(cookie,function(item,index){
if (trim(item.split("=")[0] == cookieName) {
return item.split("=")[1];
}
})
}

参考资料:http://www.itxueyuan.org/view/6375.html

上一篇:hdu 2610 2611 dfs的判重技巧


下一篇:如何使用peewee / mysqldb通过python查询MySQL数据库?