头像

javascript cookie 读写操作

<script language=javascript>

//获得coolie 的值
function cookie(name){   
   var cookieArray=document.cookie.split("; "); //得到分割的cookie名值对   
   var cookie=new Object();   
   for (var i=0;i<cookieArray.length;i++){   
      var arr=cookieArray[i].split("=");       //将名和值分开   
      if(arr[0]==name)return unescape(arr[1]); //如果是指定的cookie,则返回它的值   
   }
   return "";
}
function delCookie(name)//删除cookie
{
   document.cookie = name+"=;expires="+(new Date(0)).toGMTString();
}
function getCookie(objName){//获取指定名称的cookie的值
    var arrStr = document.cookie.split("; ");
    for(var i = 0;i < arrStr.length;i ++){
        var temp = arrStr[i].split("=");
        if(temp[0] == objName) return unescape(temp[1]);
   }
}
function addCookie(objName,objValue,objHours){      //添加cookie
    var str = objName + "=" + escape(objValue);
    if(objHours > 0){                               //为时不设定过期时间,浏览器关闭时cookie自动消失
        var date = new Date();
        var ms = objHours*3600*1000;
        date.setTime(date.getTime() + ms);
        str += "; expires=" + date.toGMTString();
   }
   document.cookie = str;
}
function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
{
    var Days = 30; //此 cookie 将被保存 30 天
    var exp = new Date();    //new Date("December 31, 9998");
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)//取cookies函数       
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
     if(arr != null) return unescape(arr[2]); return null;
}
function delCookie(name)//删除cookie
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
</script>
头像

2款Javascript脚本判断是否手机浏览器自动跳转WAP手机网站

随着移动设备的普及,企业的网络宣传已经不能局限在PC端,而需要同时在移动端有所建树。对于公司网站来说,以前都是做的PC端的,当然手机等移动端也可以访问,但是用户体验肯定不如完全适合的手机端来的方便。我们在给自己的网站做了WAP手机网站之后,如果有用户通过手机访问我们的企业顶级域名网站,那就判断跳转到专为的WAP网站。

第一种:直接JS脚本


<script type="text/javascript">
try {
var urlhash = window.location.hash;
if (!urlhash.match("fromapp"))
{
if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i)))
{
window.location="http://www.19ze.com/wap/(更换成自己的WAP网站)";
}
}
}
catch(err)
{
}</script>

第二种,引用JS


function uaredirect(murl){
try {
if(document.getElementById("bdmark") != null){
return;
}
var urlhash = window.location.hash;
if (!urlhash.match("fromapp")){
if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i))) {
location.replace(murl);
}
}
} catch(err){}
}

上述的脚本保持到mobile.js文件,然后在需要调用的页面引用下面2个JS调用文件。


<script src="mobile.js" type="text/javascript"></script>
<script type="text/javascript">uaredirect("http://www.19ze.com/wap/(更换成自己的WAP网站)");</script>

两种方法都已测试可用!

头像

Javascript+div 遮罩层封锁整个页面

一、IE和FF下document.body对象的clientHeight,offsetHeight,scrollHeight属性的差别。
clientHeight
在IE和FF下,该属性没什么差别,都是指浏览器的可视区域,即除去浏览器的那些工具栏状态栏剩下的页面展示空间的高度。
offsetHeight
在IE下,offsetHeight也是浏览器可视区域的高(包括边线)
在FF下,offsetHeight是页面具体内容的高度
scrollHeight
在IE下,scrollHeight 是页面具体内容的高度,可以小于clientHeight
在FF下,scrollHeight 是网页内容高度,不过最小值是clientHeight

二、下面是跨浏览器取得当前页面的高度的解决方法。

function getPageSize()
{
var body = document.documentElement;
var bodyOffsetWidth = 0;
var bodyOffsetHeight = 0;
var bodyScrollWidth = 0;
var bodyScrollHeight = 0;
var pageDimensions = [0,0];
pageDimensions[0]=body.clientHeight;
pageDimensions[1]=body.clientWidth;
bodyOffsetWidth=body.offsetWidth;
bodyOffsetHeight=body.offsetHeight;
bodyScrollWidth=body.scrollWidth;
bodyScrollHeight=body.scrollHeight;
if(bodyOffsetHeight > pageDimensions[0])
{
pageDimensions[0]=bodyOffsetHeight;
}
if(bodyOffsetWidth > pageDimensions[1])
{
pageDimensions[1]=bodyOffsetWidth;
}
if(bodyScrollHeight > pageDimensions[0])
{
pageDimensions[0]=bodyScrollHeight;
}
if(bodyScrollWidth > pageDimensions[1])
{
pageDimensions[1]=bodyScrollWidth;
}
return pageDimensions;
}

三、页面上必须放置一个div,作为遮罩层,下面是这个遮罩层的css样式。
.lockDiv
{
position:absolute;
left:0;
top:0;
height:0;
width:0;
border:2 solid red;
display:none;
text-align:center;
background-color:#DBDBDB;
filter:Alpha(opacity=60);
}

四、在客户端使用下面的javascript用遮罩层将整个页面封闭。

 var sandglassSpan = 1;
 var timeHdl;
 function DisablePage()
 {
 var ctrlSandglass = document.getElementById("divSandglass");
 if(sandglassSpan==0)
 {
 window.clearTimeout(timeHdl);
 ctrlSandglass.style.display = "none";
 document.body.style.cursor = 'auto';
 sandglassSpan = 1;
 }
 else
 {
 document.body.style.cursor = 'wait';
 var pageDimensions = getPageSize();
 ctrlSandglass.style.top = 0;
 ctrlSandglass.style.left = 0;
 ctrlSandglass.style.height = pageDimensions[0];
 ctrlSandglass.style.width = pageDimensions[1];
 ctrlSandglass.style.display = "block";
 timeHdl = window.setTimeout(DisablePage,200);
 }
 }

五、如果页面上使用了ASP.net的Validator控件,那么应该使用如下的javascript。

 var sandglassSpan = 1;
 var timeHdl;
 function DisablePageHaveValidator()
 {
 var ctrlSandglass = document.getElementById("divSandglass");
 if(false == Page_IsValid)
 {
 sandglassSpan = 0;
 }
 if(sandglassSpan==0)
 {
 window.clearTimeout(timeHdl);
 ctrlSandglass.style.display = "none";
 document.body.style.cursor = 'auto';
 sandglassSpan = 1;
 }
 else
 {
 document.body.style.cursor = 'wait';
 ctrlSandglass.style.display = "block";
 var pageDimensions = getPageSize();
 ctrlSandglass.style.top = 0;
 ctrlSandglass.style.left = 0;
 ctrlSandglass.style.height = pageDimensions[0];
 ctrlSandglass.style.width = pageDimensions[1];
 timeHdl = window.setTimeout(DisablePageHaveValidator, 200);
 }
 }

六、DisablePage和DisablePageHaveValidator这两个方法可以在按钮的onclick事件或其它时机调用

头像

关于用js设置div高度的办法

document.getElementById(mydiv).style.height=document.getElementById(targetdiv).clientHeight;

这段代码当页面声明成xhtml的时候,在IE,opera下都是有效的,只有在firefox下不行。
但是如果把页面声明成HTML就可以,现在我想知道下还有没有其它设定DIV高度的办法,让它即符合web标准,又能达到效果呢?

加个px就好了~

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html>
<body onload="document.getElementById('bb').style.height=document.getElementById('aa').clientHeight+'px'">
<div id="aa">12331</div>
<div id="bb" style="border:1px solid;></div>
</body>
</html>