常用javascript脚本

BS开发中常用的Javascript技术 
一、验证类 
1、数字验证内 
  1.1 整数 
  1.2 大于0的整数 (用于传来的ID的验证) 
  1.3 负整数的验证 
  1.4 整数不能大于iMax 
  1.5 整数不能小于iMin 
2、时间类 
  2.1 短时间,形如 (13:04:06) 
  2.2 短日期,形如 (2003-12-05) 
  2.3 长时间,形如 (2003-12-05 13:04:06) 
  2.4 只有年和月。形如(2003-05,或者2003-5) 
  2.5 只有小时和分钟,形如(12:03) 
3、表单类 
  3.1 所有的表单的值都不能为空 
  3.2 多行文本框的值不能为空。 
  3.3 多行文本框的值不能超过sMaxStrleng 
  3.4 多行文本框的值不能少于sMixStrleng 
  3.5 判断单选框是否选择。 
  3.6 判断复选框是否选择. 
  3.7 复选框的全选,多选,全不选,反选 
  3.8 文件上传过程中判断文件类型 
4、字符类 
  4.1 判断字符全部由a-Z或者是A-Z的字字母组成 
  4.2 判断字符由字母和数字组成。 
  4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 
  4.4 字符串替换函数.Replace(); 
5、浏览器类 
  5.1 判断浏览器的类型 
  5.2 判断ie的版本 
  5.3 判断客户端的分辨率 
   
6、结合类 
  6.1 email的判断。 
  6.2 手机号码的验证 
  6.3 身份证的验证 
   

二、功能类 

1、时间与相关控件类 
  1.1 日历 
  1.2 时间控件 
  1.3 万年历 
  1.4 显示动态显示时钟效果(文本,如OA中时间) 
  1.5 显示动态显示时钟效果 (图像,像手表)  
2、表单类 
  2.1 自动生成表单 
  2.2 动态添加,修改,删除下拉框中的元素 
  2.3 可以输入内容的下拉框 
  2.4 多行文本框中只能输入iMax文字。如果多输入了,自动减少到iMax个文字(多用于短信发送) 
   
3、打印类 
  3.1 打印控件 
4、事件类 
  4.1 屏蔽右键 
  4.2 屏蔽所有功能键 
  4.3 --> 和<-- F5 F11,F9,F1 
  4.4 屏蔽组合键ctrl+N 
5、网页设计类 
  5.1 连续滚动的文字,图片(注意是连续的,两段文字和图片中没有空白出现) 
  5.2 html编辑控件类 
  5.3 颜色选取框控件 
  5.4 下拉菜单 
  5.5 两层或多层次的下拉菜单 
  5.6 仿IE菜单的按钮。(效果如rongshuxa.com的导航栏目) 
  5.7 状态栏,title栏的动态效果(例子很多,可以研究一下) 
  5.8 双击后,网页自动滚屏 
6、树型结构。 
  6.1 asp+SQL版 
  6.2 asp+xml+sql版 
  6.3 java+sql或者java+sql+xml 
7、无边框效果的制作 
8、连动下拉框技术 
9、文本排序 
10,画图类,含饼、柱、矢量贝滋曲线 
11,操纵客户端注册表类 
12,DIV层相关(拖拽、显示、隐藏、移动、增加) 
13,TABLAE相关(客户端动态增加行列,模拟进度条,滚动列表等) 
14,各种<object classid=>相关类,如播放器,flash与脚本互动等 
16, 刷新/模拟无刷新 异步调用类(XMLHttp或iframe,frame) 

 

 

<script language="JavaScript"> 
<!-- 
function check(text){ 
var checkstr,iMax=5,iMin=3 
checkstr="isInt:"+(parseInt(text)==text)+"\n" 
checkstr+="isID:"+((parseInt(text)==text)&&(text>=0))+"\n" 
checkstr+="小于"+iMax+":"+((parseInt(text)==text)&&(text<iMax))+"\n" 
checkstr+="大于"+iMin+":"+((parseInt(text)==text)&&(text>iMin))+"\n" 
alert(checkstr) 

//--> 
 
<form method=post action=""> 
<input type="text" id="text1" οnchange="check(this.value)"> 
</form> 

 

4、事件类 
  4.1 屏蔽右键 
      在body标签里加上οncοntextmenu=self.event.returnValue=false   
  4.2 屏蔽所有功能键 

  4.3 --> 和<-- F5 F11,F9,F1 

  4.4 屏蔽组合键ctrl+N 

<script language=javascript> 
function KeyDown(){    
  if ((window.event.altKey)&& 
      ((window.event.keyCode==37)||   //屏蔽 Alt+ 方向键 ← 
       (window.event.keyCode==39))){  //屏蔽 Alt+ 方向键 → 
     alert("不准你使用ALT+方向键前进或后退网页!"wink.gif
     event.returnValue=false; 
     } 
  if ((event.keyCode==8)||            //屏蔽退格删除键 
      (event.keyCode==116)){          //屏蔽 F5 刷新键 
     event.keyCode=0; 
     event.returnValue=false; 
     } 
  if ((event.ctrlKey)&&(event.keyCode==78)){   //屏蔽 Ctrl+n 
     event.returnValue=false; 
     } 
  if ((event.shiftKey)&&(event.keyCode==121)){ //屏蔽 shift+F10 
     event.returnValue=false; 
     } 
  if (event.keyCode==122){ //屏蔽 F11 
     event.returnValue=false; 
     } 
  } 
只要知道keyCode即可屏蔽所有功能键 


一、验证类 
1、数字验证内 
  1.1 整数 
      /^(-|\+)?\d+$/.test(str) 
  1.2 大于0的整数 (用于传来的ID的验证) 
      /^\d+$/.test(str) 
  1.3 负整数的验证 
      /^-\d+$/.test(str) 
2、时间类 
  2.1 短时间,形如 (13:04:06) 
      function isTime(str) 
      { 
        var a = str.match(/^(\d{1,2})(smile.gif?(\d{1,2})\2(\d{1,2})$/); 
        if (a == null) {alert('输入的参数不是时间格式'); return false;} 
        if (a[1]>24 || a[3]>60 || a[4]>60) 
        { 
          alert("时间格式不对"wink.gif
          return false 
        } 
        return true; 
      } 
  2.2 短日期,形如 (2003-12-05) 
      function strDateTime(str) 
      { 
         var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);  
         if(r==null)return false;  
         var d= new Date(r[1], r[3]-1, r[4]);  
         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); 
      } 
  2.3 长时间,形如 (2003-12-05 13:04:06) 
      function strDateTime(str) 
      { 
        var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2})frown.gif\d{1,2})frown.gif\d{1,2})$/;  
        var r = str.match(reg);  
        if(r==null)return false;  
        var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);  
        return  

(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&
d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()== 

r[7]); 
      } 
  2.4 只有年和月。形如(2003-05,或者2003-5) 
  2.5 只有小时和分钟,形如(12:03) 
3、表单类 
  3.1 所有的表单的值都不能为空 
      <input οnblur="if(this.value.replace(/^\s+|\s+$/g,')==')alert('不能为空!')"> 
  3.2 多行文本框的值不能为空。 
  3.3 多行文本框的值不能超过sMaxStrleng 
  3.4 多行文本框的值不能少于sMixStrleng 
  3.5 判断单选框是否选择。 
  3.6 判断复选框是否选择. 
  3.7 复选框的全选,多选,全不选,反选 
  3.8 文件上传过程中判断文件类型 
4、字符类 
  4.1 判断字符全部由a-Z或者是A-Z的字字母组成 
      <input οnblur="if(/[^a-zA-Z]/g.test(this.value))alert('有错')"> 
  4.2 判断字符由字母和数字组成。 
      <input οnblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')"> 
  4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 
      /^([a-zA-z_]{1})([\w]*)$/g.test(str) 
  4.4 字符串替换函数.Replace(); 
5、浏览器类 
  5.1 判断浏览器的类型 
      window.navigator.appName 
  5.2 判断ie的版本 
      window.navigator.appVersion 
  5.3 判断客户端的分辨率 
      window.screen.height;  window.screen.width; 
   
6、结合类 
  6.1 email的判断。 
      function ismail(mail) 
      { 
        return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)
[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail)); 
      } 
  6.2 手机号码的验证 
  6.3 身份证的验证 
      function isIdCardNo(num) 
      { 
        if (isNaN(num)) {alert("输入的不是数字!"wink.gif; return false;} 
        var len = num.length, re;  
        if (len == 15) 
          re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/); 
        else if (len == 18) 
          re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/); 
        else {alert("输入的数字位数不对!"wink.gif; return false;} 
        var a = num.match(re); 
        if (a != null) 
        { 
          if (len==15) 
          { 
            var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]); 
            var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&
D.getDate()==a[5]; 
          } 
          else 
          { 
            var D = new Date(a[3]+"/"+a[4]+"/"+a[5]); 
            var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&
D.getDate()==a[5]; 
          } 
          if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"wink.gif; return false;} 
        } 
        return true; 
      } 


3.7 复选框的全选,多选,全不选,反选 
<form name=hrong> 
<input type=checkbox name=All οnclick="checkAll('mm')">全选<br/> 
<input type=checkbox name=mm οnclick="checkItem('All')"><br/> 
<input type=checkbox name=mm οnclick="checkItem('All')"><br/> 
<input type=checkbox name=mm οnclick="checkItem('All')"><br/> 
<input type=checkbox name=mm οnclick="checkItem('All')"><br/> 
<input type=checkbox name=mm οnclick="checkItem('All')"><br/><br/> 


<input type=checkbox name=All2 οnclick="checkAll('mm2')">全选<br/> 
<input type=checkbox name=mm2 οnclick="checkItem('All2')"><br/> 
<input type=checkbox name=mm2 οnclick="checkItem('All2')"><br/> 
<input type=checkbox name=mm2 οnclick="checkItem('All2')"><br/> 
<input type=checkbox name=mm2 οnclick="checkItem('All2')"><br/> 
<input type=checkbox name=mm2 οnclick="checkItem('All2')"><br/> 

</form> 

<SCRIPT LANGUAGE="JavaScript"> 
function checkAll(str) 

  var a = document.getElementsByName(str); 
  var n = a.length; 
  for (var i=0; i<n; i++) 
  a[i].checked = window.event.srcElement.checked; 

function checkItem(str) 

  var e = window.event.srcElement; 
  var all = eval("document.hrong."+ str); 
  if (e.checked) 
  { 
    var a = document.getElementsByName(e.name); 
    all.checked = true; 
    for (var i=0; i<a.length; i++) 
    { 
      if (!a[i].checked){ all.checked = false; break;} 
    } 
  } 
  else all.checked = false; 

</SCRIPT> 

3.8 文件上传过程中判断文件类型 
<input type=file οnchange="alert(this.value.match(/^(.*)(\.)(.{1,8})$/)[3])"> 

 

不断地清空剪贴板: 
<body οnlοad="setInterval('clipboardData.setData(\'Text\',\'\')',100)"> 


<script language="JavaScript" type="text/JavaScript"> 
//先复制一样东西,或者文本或者图片 
if(clipboardData.getData("Text"wink.gif||clipboardData.getData("HTML"wink.gif||
clipboardData.getData("URL"wink.gif

alert("有效行为"wink.gif

 


全屏技术: 
真正的全屏页面解决之道!(全代码)  
真正全屏解决之道:  
1.htm  
  
  
<title>无标题文档</title>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
  

<body οnlοad="window.open('fullscreen.htm',','fullscreen=1,scroll=no');">  
  
  


fullscreen.htm  
  
  
<title>无标题文档</title>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
<script language="JavaScript1.2">   
<!--   
function opensmallwin(myurl){   
var w2=300;//想弹出窗口的宽度   
var h2=100;//想弹出窗口的高度   
var w3=window.screen.width/2-w2/2;   
var h3=window.screen.height/2-h2/2;   
window.open(myurl,'small','toolbar=no,location=no,directories=no,status=no,menubar=no,
scrollbars=no,resizable=0,width='+ w2 +',height='+ h2 +',left='+ w3 +',top='+ h3 +');   
}   
//-->   

<!--  
function modelesswin(url,mwidth,mheight){  
  if (document.all&&window.print)  
    eval('window.external.m2_blocked(url,"","help:0;resizable:0;status:0;center:1;
scroll:0;dialogWidth:'+mwidth+'px;dialogHeight:'+mheight+'px"wink.gif')   
  else  
    eval('window.open(url,"","width='+mwidth+'px,height='+mheight+'px,resizable=1,
scrollbars=1"wink.gif')  
  }  
//-->  

   
  

<body  scroll="no">  
<div align="right"><a href="javascript:" οnclick="window.close()">关闭
</a> </div>  
<p></P>  
<div align="right"><a href="javascript:" οnclick="opensmallwin('login.htm')">登录
</a> </div>  

<p></P>  
<div align="center"><a href="javascript:" 
οnclick="modelesswin('login.htm',300,160)">用模态登录窗口</a> </div>  
  
  


login.htm  
  
  
<title>用户登录</title>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">  

<style type="text/css">  
<!--  
body {  
   background-color: #EAEAEA;  
   font-family: Arial, Helvetica, sans-serif;  
   font-size: 12px;  
   line-height: 24px;  
   color: #336699;  
}  
input.boxline {  
   width: 100px;  
   font-family: "Times New Roman", "Times", "serif";  
   font-size: 9pt;  
   border: 1px solid #669999;  
   height: 18px;  

}  

input.whiteline {    
   font-size: 12px; border: 1px #999999 solid  
}  
-->  
</style>  
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">  
<table width="100%" height="100%" border="0" cellpadding="0"
 cellspacing="14" bgcolor="#CCCCCC">  
  <tr valign="top">  
    <td width="10%" nowrap  align="right"><b>用户名:</b></td>  
    <td width="90%"><input name="textfield1" type="text" size="25"
 class="whiteline"></td>  
  </tr>  
  <tr valign="top">  
    <td nowrap align="right"><b>密 码:</b></td>  
    <td><input name="textfield12" type="password" size="25" 
class="whiteline"></td>  
  </tr>  
  <tr valign="top">  
    <td> </td>  
    <td><input type="submit" name="Submit" value="登  录" 
class="boxline"></td>  
  </tr>  
</table>  
  
  


自动关掉原窗口:  


  
  
<title>无标题文档</title>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
<style type="text/css">  
<!--  
body {  
   margin-left: 0px;  
   margin-top: 0px;  
   margin-right: 0px;  
   margin-bottom: 0px;  
}  
-->  
</style>  
  

<body οnlοad="window.open('fullscreen.htm',','fullscreen=1,scroll=no');
window.opener=null;window.close()">  
<input type=button value=关闭 οnclick="window.opener=null;window.close()">   
<!-- IE5.5+ 不会有弹出提示 -->   

<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 
height=0 width=0></OBJECT>   
<input type=button value=关闭窗口 οnclick=document.all.WebBrowser.ExecWB(45,1)>   
  
  

关键是在onload事件中加入:  
window.opener=null;window.close()  


预读图片: 
<SCRIPT LANGUAGE="JavaScript"> 

<!-- This script and many more are available free online at --> 
<!-- The JavaScript Source!! <a href=::URL::http://javascript.internet.com  
target=_blank>::URL::http://javascript.internet.com  --> 

<!-- Begin 

image1 = new Image(); 
image1.src = "image1.gif"; 

image2 = new Image(); 
image2.src = "image2.gif"; 

// End --> 
 

 

关于两个网页刷新交互的问题  
JS处理方法:  

a.htm  

<a href="b.htm" target=blank>发表留言</a>  
  
alert("wwwwwwwwwwwwwwwwwwwwwwwwww"wink.gif;  
  

b.htm  

<script language="javascript">  
//window.opener.location.reload();刷新父窗口  
//window.opener.location="2.htm"//重定向父窗口到2.htm页  
function closewindow()  
{  
window.opener.location.reload();  
self.close();  
window.opener.document.write("sssssssssssssssssss"wink.gif;  
}  
  
<a href="b.htm" target=blank οnclick="closewindow();">关闭</a>  

 

后台处理方法:  

private btnForSubmit(Object sender,EventArgs e)  
{  
 .............  
 Response.Write("window.opener.document.execCommand('refresh');
window.opener=';window.close();"wink.gif;  
//string str="window.opener.document.execCommand('refresh');
window.opener=';window.close();";  
//this.RegisterStartupScript("mycode",str);  
external.m2_blocked()、external.m2_blocked()方法使用详解 

 Javascript有许多内建的方法来产生对话框,如:window.alert(), 
window.confirm(),window.prompt().等。 然而IE提供更多的方法支持对话框。如: 

  external.m2_blocked() (IE 4+ 支持) 
  external.m2_blocked() (IE 5+ 支持) 


 window.external.m2_blocked()方法用来创建一个显示HTML内容的模态对话框,
由于是对话框,因此它并没有一般用window.open()打开的窗口的所有属性。 
 window.external.m2_blocked()方法用来创建一个显示HTML内容的非模态对话框。 

 当我们用external.m2_blocked()打开窗口时,不必用window.close()去关闭它,
当以非模态方式[IE5]打开时, 打开对话框的窗口仍可以进行其他的操作,即对话框
不总是最上面的焦点,当打开它的窗口URL改变时,它自动关闭。而模态[IE4]
方式的对话框始终有焦点(焦点不可移走,直到它关闭)。模态对话框和打开它的窗
口相联系,因此我们打开另外的窗口时,他们的链接关系依然保存,并且隐藏在活动
窗口的下面。 

使用方法如下: 
 vReturnValue=window.external.m2_blocked(sURL [,vArguments] [,sFeatures]) 
 vReturnValue=window.external.m2_blocked(sURL [,vArguments] [,sFeatures]) 
参数说明: 
 sURL 
 必选参数,类型:字符串。用来指定对话框要显示的文档的URL。 
 vArguments 
 可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。
对话框通过window.dialogArguments来取得传递进来的参数。 
 sFeatures 
 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,
用分号“;”隔开。 
  dialogHeight 对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth
 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px
做单位。 
   dialogWidth: 对话框宽度。 
   dialogLeft: 距离桌面左的距离。 
   dialogTop: 离桌面上的距离。 
   center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度。 
   help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。 
   resizable: {yes | no | 1 | 0 } [IE5+]:是否可被改变大小。默认no。 
   status: {yes | no | 1 | 0 } [IE5+]:是否显示状态栏。默认为yes[ Modeless]
或no[Modal]。 
  scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。 

  还有几个属性是用在HTA中的,在一般的网页中一般不使用。 
  dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。
默认为no。 
  edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。 
  unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。 

 传入参数: 
 要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,
最大为4096个字符。也可以传递对象,例如: 

 test1.htm 
 ==================== 
  
  var mxh1 = new Array("mxh","net_lover","孟子E章"wink.gif 
  var mxh2 = window.open("about:blank","window_mxh"wink.gif 
  // 向对话框传递数组 
  window.external.m2_blocked("test2.htm",mxh1) 
  // 向对话框传递window对象 
  window.external.m2_blocked("test3.htm",mxh2) 
  

 test2.htm 
 ==================== 
  
  var a = window.dialogArguments 
  alert("您传递的参数为:" + a) 
  

 test3.htm 
 ==================== 
  
  var a = window.dialogArguments 
  alert("您传递的参数为window对象,名称:" + a.name) 
  

 可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。
例如: 

 test4.htm 
 =================== 
  
  var a = window.external.m2_blocked("test5.htm"wink.gif 
  for(i=0;i<a.length;i++) alert(a[i]) 
  

 test5.htm 
 =================== 
  
 function sendTo() 
 { 
  var a=new Array("a","b"wink.gif 
  window.returnValue = a 
  window.close() 
 } 
  
  
 <form> 
  <input value="返回" type=button οnclick="sendTo()"> 
 </form> 

 常见问题: 
 1,如何在模态对话框中进行提交而不新开窗口? 
 如果你 的 浏览器是IE5.5+,可以在对话框中使用带name属性的iframe,提交时可以
制定target为该iframe的name。对于IE4+,你可以用高度为0的frame来作:例子, 

 test6.htm 
 =================== 
  
  window.external.m2_blocked("test7.htm"wink.gif 
  

 test7.htm 
 =================== 
 if(window.location.search) alert(window.location.search) 
 <frameset rows="0,*"> 
  <frame src="about:blank"> 
  <frame src="test8.htm"> 
 </frameset> 

 test8.htm 
 =================== 
 <form target="_self" method="get"> 
 <input name=txt value="test"> 
 <input type=submit> 
 </form> 
  
 if(window.location.search) alert(window.location.search) 
  
 2,可以通过::URL::http://servername/virtualdirname/test.htm?name=mxh方式直接向
对话框传递参数吗? 
 答案是不能。但在frame里是可以的。 
//屏蔽 F5 刷新键 


function document.onkeydown() 

    var k = window.event.keyCode; 
    if (k == 116)                   //屏蔽 F5 刷新键 
    { 
        window.event.keyCode    = 0; 
        window.event.returnValue= false; 
    } 



<script language="Javascript"> 
 //屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键 
 //屏蔽F1帮助 
function window.onhelp() 

   return false 

function KeyDown() 

  //alert(event.keyCode); 
   //屏蔽 Alt+ 方向键 ← 屏蔽 Alt+ 方向键 → 
  if ((window.event.altKey)&&((window.event.keyCode==37)||
(window.event.keyCode==39))) 
  {   
     //alert("不准你使用ALT+方向键前进或后退网页!"wink.gif
     event.returnValue=false; 
  } 
  //屏蔽退格删除键,屏蔽 F5 刷新键,Ctrl + R 
  if ((event.keyCode==116)||(event.ctrlKey && event.keyCode==82)) 
  {  
     event.keyCode=0; 
     event.returnValue=false; 
  }  
   
  //屏蔽 Ctrl+n 
  if ((event.ctrlKey)&&(event.keyCode==78)) 
  {   
     event.returnValue=false; 
  } 
   
  //屏蔽 shift+F10 
  if ((event.shiftKey)&&(event.keyCode==121)) 
  {  
     event.returnValue=false; 
  } 
   
  //屏蔽 shift 加鼠标左键新开一网页 
  if (window.event.srcElement.tagName == "A" && window.event.shiftKey)  
  { 
    window.event.returnValue = false; 
  } 
       
   //屏蔽Alt+F4 
  if ((window.event.altKey)&&(window.event.keyCode==115)) 
  { 
      window.external.m2_blocked("about:blank","","dialogWidth:1px;dialogheight:1px"wink.gif
      return false; 
  } 
   
  //屏蔽Ctrl+A 
  if((event.ctrlKey)&&(event.keyCode==65)) 
  { 
   return false; 
  } 
     

 
 
</HTML>  


kyan 发表于 >2005-4-13 9:33:39 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案] [推给好友]

2005-1-26
Meta标签详解 [转]

Meta标签详解
  引言 
  您的个人网站即使做得再精彩,在“浩瀚如海”的网络空间中,也如一叶扁舟不易为人发现,如何推广
个人网站,人们首先想到的方法无外乎以下几种:  
  ● 在搜索引擎中登录自己的个人网站  
  ● 在知名网站加入你个人网站的链接 
  ● 在论坛中发帖子宣传你的个人网站 
  很多人却忽视了HTML标签META的强大功效,一个好的META标签设计可以大大提高你的个人网站被搜索到的可能性,有兴趣吗,谁我来重新认识一下META标签吧!   META标签是HTML语言HEAD区的一个辅助性标签,它位于HTML文档头部的<HEAD>标记和<TITLE>标记之间,它提供用户不可见的信息。meta标签通常用来为搜索引擎robots定义页面主题,或者是定义用户浏览器上的cookie;它可以用于鉴别作者,设定页面格式,标注内容提要和关键字;还可以设置页面使其可以根据你定义的时间间隔刷新自己,以及设置RASC内容等级,等等。 

  详细介绍 
  下面介绍一些有关 标记的例子及解释。 
  META标签分两大部分:HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAME)。 

  ★HTTP-EQUIV 
  HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容。常用的HTTP-EQUIV类型有: 

  1、Content-Type和Content-Language (显示字符集的设定) 
  说明:设定页面使用的字符集,用以说明主页制作所使用的文字已经语言,浏览器会根据此来调用相应的字符集显示page内容。 
  用法:<Meta http-equiv="Content-Type" Content="text/html; Charset=gb2312">
      <Meta http-equiv="Content-Language" Content="zh-CN"> 
  注意: 该META标签定义了HTML页面所使用的字符集为GB2132,就是国标汉字码。如果将其中的“charset=GB2312”替换成“BIG5”,则该页面所用的字符集就是繁体中文Big5码。当你浏览一些国外的站点时,IE浏览器会提示你要正确显示该页面需要下载xx语支持。这个功能就是通过读取HTML页面META标签的Content-Type属性而得知需要使用哪种字符集显示该页面的。如果系统里没有装相应的字符集,则IE就提示下载。其他的语言也对应不同的charset,比如日文的字符集是“iso-2022-jp ”,韩文的是“ks_c_5601”。
      
  Content-Type的Content还可以是:text/xml等文档类型;
  Charset选项:ISO-8859-1(英文)、BIG5、UTF-8、SHIFT-Jis、Euc、Koi8-2、us-ascii, x-mac-roman, iso-8859-2, x-mac-ce, iso-2022-jp, x-sjis, x-euc-jp,euc-kr, iso-2022-kr, gb2312, gb_2312-80, x-euc-tw, x-cns11643-1,x-cns11643-2等字符集;Content-Language的Content还可以是:EN、FR等语言代码。 
  2、Refresh (刷新) 
   说明:让网页多长时间(秒)刷新自己,或在多长时间后让网页自动链接到其它网页。
   用法:<Meta http-equiv="Refresh" Content="30">
      <Meta http-equiv="Refresh" Content="5; Url=::URL::http://www.xia8.net">
   注意:其中的5是指停留5秒钟后自动刷新到URL网址。 
  3、Expires (期限) 
   说明:指定网页在缓存中的过期时间,一旦网页过期,必须到服务器上重新调阅。
   用法:<Meta http-equiv="Expires" Content="0">
      <Meta http-equiv="Expires" Content="Wed, 26 Feb 1997 08:21:57 GMT">
   注意:必须使用GMT的时间格式,或直接设为0(数字表示多少时间后过期)。 
  4、Pragma (cach模式) 
   说明:禁止浏览器从本地机的缓存中调阅页面内容。
   用法:<Meta http-equiv="Pragma" Content="No-cach">
   注意:网页不保存在缓存中,每次访问都刷新页面。这样设定,访问者将无法脱机浏览。 
  5、Set-Cookie (cookie设定) 
  说明:浏览器访问某个页面时会将它存在缓存中,下次再次访问时就可从缓存中读取,以提高速度。当你希望访问者每次都刷新你广告的图标,或每次都刷新你的计数器,就要禁用缓存了。通常HTML文件没有必要禁用缓存,对于ASP等页面,就可以使用禁用缓存,因为每次看到的页面都是在服务器动态生成的,缓存就失去意义。如果网页过期,那么存盘的cookie将被删除。
   用法:<Meta http-equiv="Set-Cookie" Content="cookievalue=xxx; expires=Wednesday,
       21-Oct-98 16:14:21 GMT; path=/">
   注意:必须使用GMT的时间格式。 
  6、Window-target (显示窗口的设定) 
   说明:强制页面在当前窗口以独立页面显示。
   用法:<Meta http-equiv="Widow-target" Content="_top">
   注意:这个属性是用来防止别人在框架里调用你的页面。Content选项:_blank、_top、_self、_parent。 
  7、Pics-label (网页RSAC等级评定)
   说明:在IE的Internet选项中有一项内容设置,可以防止浏览一些受限制的网站,而网站的限制级
      别就是通过该参数来设置的。
   用法:<META http-equiv="Pics-label" Contect=
               "(PICS-1.1'::URL::http://www.rsac.org/ratingsv01.html'
       I gen comment 'RSACi North America Sever' by 'inet@microsoft.com' 
       for '::URL::http://www.microsoft.com'  on '1997.06.30T14:21-0500' r(n0 s0 v0 l0))"> 
   注意:不要将级别设置的太高。RSAC的评估系统提供了一种用来评价Web站点内容的标准。用户可以设置Microsoft Internet Explorer(IE3.0以上)来排除包含有色情和暴力内容的站点。上面这个例子中的HTML取自Microsoft的主页。代码中的(n 0 s 0 v 0 l 0)表示该站点不包含不健康内容。级别的评定是由RSAC,即美国娱乐委员会的评级机构评定的,如果你想进一步了解RSAC评估系统的等级内容,或者你需要评价自己的网站,可以访问RSAC的站点:::URL::http://www.rsac.org/。  
  8、Page-Enter、Page-Exit (进入与退出) 
   说明:这个是页面被载入和调出时的一些特效。
   用法:<Meta http-equiv="Page-Enter" Content="blendTrans(Duration=0.5)">
      <Meta http-equiv="Page-Exit" Content="blendTrans(Duration=0.5)">
   注意:blendTrans是动态滤镜的一种,产生渐隐效果。另一种动态滤镜RevealTrans也可以用于页面进入与退出效果: 
      <Meta http-equiv="Page-Enter" Content="revealTrans(duration=x, transition=y)">
      <Meta http-equiv="Page-Exit" Content="revealTrans(duration=x, transition=y)"> 
       Duration  表示滤镜特效的持续时间(单位:秒)
       Transition 滤镜类型。表示使用哪种特效,取值为0-23。 
       0 矩形缩小
       1 矩形扩大
       2 圆形缩小
       3 圆形扩大
       4 下到上刷新
       5 上到下刷新
       6 左到右刷新
       7 右到左刷新
       8 竖百叶窗
       9 横百叶窗
       10 错位横百叶窗
       11 错位竖百叶窗
       12 点扩散
       13 左右到中间刷新
       14 中间到左右刷新
       15 中间到上下
       16 上下到中间
       17 右下到左上
       18 右上到左下
       19 左上到右下
       20 左下到右上
       21 横条
       22 竖条
       23 以上22种随机选择一种 
  9、MSThemeCompatible (XP主题)
   说明:是否在IE中关闭 xp 的主题
   用法:<Meta http-equiv="MSThemeCompatible" Content="Yes">
   注意:关闭 xp 的蓝色立体按钮系统显示样式,从而和win2k 很象。 
  10、IE6 (页面生成器)
   说明:页面生成器generator,是ie6
   用法:<Meta http-equiv="IE6" Content="Generator">
   注意:用什么东西做的,类似商品出厂厂商。 
  11、Content-Script-Type (脚本相关)
   说明:这是近来W3C的规范,指明页面中脚本的类型。
   用法:<Meta http-equiv="Content-Script-Type" Content="text/javascript">
   注意: 
  ★NAME变量 
  name是描述网页的,对应于Content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。
  name的value值(name="")指定所提供信息的类型。有些值是已经定义好的。例如description(说明)、keyword(关键字)、refresh(刷新)等。还可以指定其他任意值,如:creationdate(创建日期) 、
document ID(文档编号)和level(等级)等。
  name的content指定实际内容。如:如果指定level(等级)为value(值),则Content可能是beginner(初级)、intermediate(中级)、advanced(高级)。 

  1、Keywords (关键字)
   说明:为搜索引擎提供的关键字列表
   用法:<Meta name="Keywords" Content="关键词1,关键词2,关键词3,关键词4,……">
   注意:各关键词间用英文逗号“,”隔开。META的通常用处是指定搜索引擎用来提高搜索质量的关键词。当数个META元素提供文档语言从属信息时,搜索引擎会使用lang特性来过滤并通过用户的语言优先参照来显示搜索结果。例如:
      <Meta name="Kyewords" Lang="EN" Content="vacation,greece,sunshine">
      <Meta name="Kyewords" Lang="FR" Content="vacances,grè:ce,soleil"> 
  2、Description (简介)
   说明:Description用来告诉搜索引擎你的网站主要内容。
   用法:<Meta name="Description" Content="你网页的简述">
   注意: 
  3、Robots (机器人向导)
   说明:Robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。Content的参数有all、none、index、noindex、follow、nofollow。默认是all。
   用法:<Meta name="Robots" Content="All|None|Index|Noindex|Follow|Nofollow">
   注意:许多搜索引擎都通过放出robot/spider搜索来登录网站,这些robot/spider就要用到meta元素的一些特性来决定怎样登录。 
    all:文件将被检索,且页面上的链接可以被查询;
    none:文件将不被检索,且页面上的链接不可以被查询;(和 "noindex, no follow" 起相同作用)
    index:文件将被检索;(让robot/spider登录)
    follow:页面上的链接可以被查询;
    noindex:文件将不被检索,但页面上的链接可以被查询;(不让robot/spider登录)
   nofollow:文件将不被检索,页面上的链接可以被查询。(不让robot/spider顺着此页的连接往下探找) 
  4、Author (作者)
   说明:标注网页的作者或制作组
   用法:<Meta name="Author" Content="张三,abc@sina.com">
   注意:Content可以是:你或你的制作组的名字,或Email 
  5、Copyright (版权)
   说明:标注版权
   用法:<Meta name="Copyright" Content="本页版权归Zerospace所有。All Rights Reserved">
   注意: 
  6、Generator (编辑器)
   说明:编辑器的说明
   用法:<Meta name="Generator" Content="PCDATA|FrontPage|">
   注意:Content="你所用编辑器" 
  7、revisit-after (重访)
   说明:
   用法:<META name="revisit-after" CONTENT="7 days" >
   注意: 
  ★Head中的其它一些用法 

  1、scheme (方案)
   说明:scheme can be used when name is used to specify how the value of content should
      be interpreted.
   用法:<meta scheme="ISBN" name="identifier" content="0-14-043205-1" />
   注意: 
  2、Link (链接)
   说明:链接到文件
   用法:<Link href="soim.ico" rel="Shortcut Icon">
   注意:很多网站如果你把她保存在收件夹中后,会发现它连带着一个小图标,如果再次点击进入之后还会发现地址栏中也有个小图标。现在只要在你的页头加上这段话,就能轻松实现这一功能。<LINK> 用来将目前文件与其它 URL 作连结,但不会有连结按钮,用於 <HEAD> 标记间, 格式如下: 
       <link href="URL" rel="relationship"> 
       <link href="URL" rev="relationship"> 
  3、Base (基链接)
   说明:插入网页基链接属性
   用法:<Base href="::URL::http://www.xia8.net/"  target="_blank">
   注意:你网页上的所有相对路径在链接时都将在前面加上“::URL::http://www.cn8cn.com/”。其中target="_blank"是链接文件在新的窗口中打开,你可以做其他设置。将“_blank”改为“_parent”是链接文件将在当前窗口的父级窗口中打开;改为“_self”链接文件在当前窗口(帧)中打开;改为“_top”链接文件全屏显示。  

  以上是META标签的一些基本用法,其中最重要的就是:Keywords和Description的设定。为什么呢?道理很简单,这两个语句可以让搜索引擎能准确的发现你,吸引更多的人访问你的站点!根据现在流行搜索引擎(Google,Lycos,AltaVista等)的工作原理,搜索引擎先派机器人自动在WWW上搜索,当发现新的网站时,便于检索页面中的Keywords和Description,并将其加入到自己的数据库,然后再根据关键词的密度将网站排序。 
  由此看来,我们必须记住添加Keywords和Description的META标签,并尽可能写好关键字和简介。否则,
后果就会是:
  
  ● 如果你的页面中根本没有Keywords和Description的META标签,那么机器人是无法将你的站点加入数
    据库,网友也就不可能搜索到你的站点。 
  ● 如果你的关键字选的不好,关键字的密度不高,被排列在几十甚至几百万个站点的后面被点击的可
    能性也是非常小的。 
  写好Keywords(关键字)要注意以下几点: 

  ● 不要用常见词汇。例如www、homepage、net、web等。 
  ● 不要用形容词,副词。例如最好的,最大的等。 
  ● 不要用笼统的词汇,要尽量精确。例如“爱立信手机”,改用“T28SC”会更好。 

  “三人之行,必有我师”,寻找合适关键词的技巧是:到Google、Lycos、Alta等著名搜索引擎,搜索与
你的网站内容相仿的网站,查看排名前十位的网站的META关键字,将它们用在你的网站上,效果可想而知了。 
  ★小窍门 
  为了提高搜索点击率,这里还有一些“捷径”可以帮得到你: 
  ● 为了增加关键词的密度,将关键字隐藏在页面里(将文字颜色定义成与背景颜色一样)。 
  ● 在图像的ALT注释语句中加入关键字。如:<IMG SRC="xxx.gif" Alt="Keywords"> 
  ● 利用HTML的注释语句,在页面代码里加入大量关键字。用法: <!-- 这里插入关键字 --> 


  <title>文件头,显示在浏览器标题区</title>
  <meta http-equiv="Content-Language" content="zh-cn">
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
  <meta name="ProgId" content="FrontPage.Editor.Document">
  <meta name="制作人" content="唐蓉生">
  <meta name="主题词" content="HTML 网页制作 课件">

转载于:https://www.cnblogs.com/stephenwang/archive/2006/02/23/336286.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424063.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第一百二十四期:2019年臭名昭著的勒索软件,网络钓鱼和僵尸网络

Webroot发布了年度恶意软件列表&#xff0c;展示了2019年最臭名昭著的网络安全威胁。从攻击次数最多的勒索软件和加密挖矿&#xff0c;到破坏最大的网络钓鱼攻击&#xff0c;显然&#xff0c;全球网络威胁正在变得更为先进且难以预测。 作者&#xff1a;kirazhou 勒索软件 在…

好久没发胡说八道的贴了,今天发一贴

看了老翅寒暑 [真实案例&#xff1a;给所有想要创业的朋友的一个管理方面的测试题]一贴http://www.cnblogs.com/BigTall/archive/2006/12/20/597896.html这是一个真实的事件&#xff0c;我把它转化为了一个测试题目&#xff0c;问过很多朋友&#xff0c;到目前为止我认为答满分…

N元语法模型的数据稀疏问题解决方法之一:Good-Turing平滑

转载自时空霹雳 在统计语言模型章节中&#xff0c;我们谈到了N元语法模型不可避免的一个问题&#xff0c;就是数据稀疏&#xff0c;其原因是大规模语料统计与有限语料的矛盾。根据齐普夫&#xff08;Zipf&#xff09;法则&#xff0c;我们能够推测知零概率问题不可避免。数据稀…

错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap

最近在使用eclipse编写java程序时遇到这样一个问题&#xff1a; 错误在类中找不到main方法&#xff0c;请将main方法定义为 public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.application.Application 看到这样的问题让我一头雾水&#xff0c;因为…

求xpath

<root><row a "1" b"asd"/>.. . <row a "5" b"adsfasd"/><row a "5" b"要这个"/> .. . <row a "sdfas" b "23423sfas"…

第十章 条件随机场CRF

文章目录1 条件随机场定义1.1 马尔科夫随机场1.1.1 用图模型表示概率1.1.3 三个马尔科夫性1.1.3 重点再看局部马尔科夫性1.2 马尔科夫随机场的因子分解1.3 条件随机场1.4 线性链条件随机场2线性链条件随机场的表示形式2.1 参数化形式2.2 简化形式2.3 矩阵形式3 条件随机场的概率…

js中同名的函数的调用情况

转自&#xff1a;https://www.cnblogs.com/wshiqtb/p/3480597.html html中如果出现函数同名时&#xff1a;如果有多个外部引入的js文件,例如a.js和b.js(引入顺序假定是a.js&#xff0c;然后是b.js)&#xff0c;同时html中本身也有内部的js.那么针对出现函数名一样的情况时&…

第一百二十五期:程序员的自我救赎,使用Python开发性格分析工具

如此不均衡的贫富差距&#xff0c;各行业的领导者如何能管理好公司&#xff0c;让员工们既努力产出&#xff0c;又能安于现状呢?每个领导者必学的一门课程就是职场心理学。只有你充分了解员工心理与对应的行为表现&#xff0c;才能从容的掌控各类型的人员&#xff0c;从而达到…

笛卡尔乘积算法的体现

一个商品有多项属性&#xff0c;多项属性的组合就产生不同的商品型号如&#xff1a;衣服&#xff1a;颜色&#xff1a;红、绿尺寸&#xff1a;大、中、小产生的系列就有&#xff1a;红|大、红|中、红|小、绿|大、绿|中、绿|小如果商品的属性不至两个&#xff0c;则产生的系列会…

知识图谱基础

本系列是学习七月算法知识图谱课程的笔记。感觉自己完全就是一个托儿。前面七月算法机器学习&#xff0c;七月算法深度学习的笔记。现在又来了知识图谱课程的笔记。 文章目录1 why知识图谱2 知识图谱前世今生3 知识图谱相关技术4 知识图谱应用案例1 why知识图谱 没有知识图谱&…

第一百二十六期:代码以外的生存之道,献给每位入了坑的码农

本篇内容主要是对这本书的一个总结概括&#xff0c;也希望能用作抛砖引玉&#xff0c;让读者在看完之后&#xff0c;对这本书有所兴趣&#xff0c;或者希望能让读者对代码以外的需要做的事情更加积极明朗一点。 作者&#xff1a;码农三哥 前言 最近刚刚读完了一本书&#xf…

DataDirectory是什么?

asp.net 2.0有一个特殊目录app_data,通常Sql server 2005 express数据文件就放在这个目录&#xff0c;相应的数据库连接串就是&#xff1a;connectionString"…… data source.\SQLEXPRESS;Integrated SecuritySSPI;AttachDBFilename|DataDirectory|data.mdf;User Instanc…

【UOJ 51】最接近神的人

【题目描述】&#xff1a; 破解了符文之语&#xff0c;小FF开启了通往地下的道路。当他走到最底层时&#xff0c;发现正前方有一扇巨石门&#xff0c;门上雕刻着一幅古代人进行某种活动的图案。而石门上方用古代文写着“神的殿堂”。小FF猜想里面应该就有王室的遗产了。但现在的…

知识图谱存储与搜索

本系列是学习七月算法知识图谱课程的笔记 知识图谱存储是一个技术活。根据数据量以及关系复杂程度可能会选择不同的介质。课程里面直接用了neo4j。 讲了neo4j安装、语法、建库、添加数据、导入数据、查询数据。 最后讲了在应用中的一些高级查询。例如朋友圈检测、欺诈团检测。…

第一百二十七期:程序员41岁创业逆袭成全美最受欢迎CEO,公司市值近200亿美金

袁征&#xff08;Eric Yuan&#xff09;在国内鲜为人知&#xff0c;却在硅谷的商业世界&#xff0c;创造了华人新的可能性——带领公司成功上市&#xff0c;成为全美国上市公司当中、美国面向全球的企业里估值最高的华人CEO。 作者&#xff1a;新芽NewSeed 导语&#xff1a;袁…

老生常谈的思考

其实这些话题还都是老生常谈的话题了&#xff0c;经常在我的博客上面说这些东西。最近一段时间来我确实比较痛苦&#xff0c;在人生最迷茫的时候经历一场感情风波&#xff0c;可能让我这个人有些显得颓废崩溃。这段时间谢谢温温等其他一些博客园好友的宽慰&#xff0c;劝解&…

词汇挖掘与实体识别(未完)

文章目录1 概述2 词汇挖掘2.1 关键词提取2.1.1 基于特征统计2.1.2 基于主题模型2.1.3 Text-Rank算法提取2.2 同义词挖掘2.2.1 同义词类型2.2.2 挖掘2.3 缩略词挖掘2.4 新词挖掘3 实体识别(NER)3.1 基于概率图模型3.2 基于深度学习1 概述 实体&#xff1a;是文本中的一些词汇或…

第一百二十八期:推荐几个IDEA插件,Java开发者撸码利器,你get到了吗

一款热部署插件&#xff0c;只要不是修改了项目的配置文件&#xff0c;用它都可以实现热部署。收费的&#xff0c;破解比较麻烦。不过功能确实很强大。 作者&#xff1a;编程届java员 JRebel for IntelliJ 一款热部署插件&#xff0c;只要不是修改了项目的配置文件&#xff…

jeecg流程梳理学习

jeecg 流程梳理 角色admin 管理员 fgld学校分管领导 bgs学校办公室 xbld系部领导 xbky系部科员jxky bmld部门领导 发文申请applyUserIdadmin${assigneeUserId} 并行cgAutoListController.do?list&idjfrom_huiq顺会签cgAutoListController.do?list&idsx_huiqian 加班申…

lighttpd,thttpd,shttpd - 轻量级WebServer介绍

lighttpd,thttpd,shttpd - 轻量级WebServer介绍 lighttpd,thttpd,shttpd - 轻量级WebServer介绍 Filed under: lighttpd, Web Server, thttpd — allen 8:27 pm 转自 Zhiqiang::He 博客. 国内绝大部分的web server不是IIS就是Apache&#xff0c;而论市场占有率&#xff0c;我认…