Javascript技术技巧大全(一)

//各种尺寸

 

  • s  +=  " 网页可见区域宽:"+  document.body.clientWidth;  
    s  +=  " 网页可见区域 高:"+  document.body.clientHeight;  
    s  +=  " 网页可见区域高:"+  document.body.offsetWeight  +"  (包括边线的宽)";  
    s  +=  " 网 页可见区域高:"+  document.body.offsetHeight  +"  (包括边线 的宽)";  
    s  +=  " 网页正文全文 宽:"+  document.body.scrollWidth;  
    s  +=  " 网页正文全文高:"+  document.body.scrollHeight;  
    s  +=  " 网页被卷去的 高:"+  document.body.scrollTop;  
    s  +=  " 网页被卷去的左:"+  document.body.scrollLeft;  
    s  +=  " 网页正文部分上:"+  window.screenTop;  
    s  +=  " 网页正文部分 左:"+  window.screenLeft;  
    s  +=  " 屏幕 分辨率的高:"+  window.screen.height;  
    s  +=  " 屏幕分辨率的宽:"+  window.screen.width;  
    s  +=  " 屏幕可用工作区高度:"+  window.screen.availHeight;  
    s  +=  " 屏幕可用工作区宽 度:"+  window.screen.availWidth;  

//过滤数字

"return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf(".")<0? event.keyCode==46:false)" onpaste="return !clipboardData.getData("text").match (/D/)" ondragenter="return false">

 

//特殊用途

"window.external.ImportExportFavorites(true,"http://localhost");">
"window.external.ImportExportFavorites(false,"http://localhost");">
"window.external.ShowBrowserUI("OrganizeFavorites", null)">
"window.external.ShowBrowserUI("LanguageDialog", null)">
"window.external.AddFavorite("http://www.google.com/", "google")">
"window.external.addChannel("http://www.google.com/")">
"window.external.showBrowserUI("PrivacySettings",null)">

 

//不缓存

"pragma" CONTENT="no-cache">
"Cache-Control" CONTENT="no-cache, must- revalidate">
"expires" CONTENT="0">

 

 


//正则匹配

 

匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式: [s| ]*
匹配HTML标记的正则表达式:/< (.*)>.*|<(.*) />/ 
匹配首尾空格的正则表达式:(^s*)|(s*$)(像vbscript那样的trim函数)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
以下是例子:
利用正则表达式限制网页表单里 的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^u4E00- u9FA5]/g,"")" onbeforepaste="clipboardData.setData("text",clipboardData.getData ("text").replace(/[^u4E00-u9FA5]/g,""))"
1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,"")" onbeforepaste="clipboardData.setData("text",clipboardData.getData("text").replace(/[^uFF00-uFFFF]/g,""))"
2.用正则表 达式限制只能输入数字:onkeyup="value=value.replace(/[^d]/g,"") "onbeforepaste="clipboardData.setData("text",clipboardData.getData("text").replace(/[^d]/g,""))"
3.用正则 表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,"")  "onbeforepaste="clipboardData.setData("text",clipboardData.getData("text").replace (/[^d]/g,""))"

//消除图像工具栏

"mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false"
or

"imagetoolbar" content="no">

 

//无提示关闭

function Close()
{
 var ua=navigator.userAgent
 var ie=navigator.appName=="Microsoft Internet Explorer"?true:false
 if(ie)
 {
      var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ") +5,ua.indexOf(";",ua.indexOf("MSIE "))))
  if(IEversion< 5.5)
  {
   var str  = ""clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">"
       str += " "Command" value="Close">";
       document.body.insertAdjacentHTML("beforeEnd", str);
       document.all.noTipClose.Click();
  }
      else
  {
       window.opener =null;
       window.close();
      }
   }
 else
 {
  window.close()
   }
}

//取得控件得绝对位置(1)

"javascript"> 
function getoffset(e)

 var t=e.offsetTop; 
 var l=e.offsetLeft; 
 while(e=e.offsetParent)
 { 
  t+=e.offsetTop; 
  l+=e.offsetLeft; 
 } 
 var rec = new Array(1);
 rec[0]  = t;
 rec[1] = l;
 return rec

//获得控件的绝对位置(2)

oRect = obj.getBoundingClientRect();
oRect.left
oRect.

//最小化,最大化,关闭

"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> 
"Command" value="Minimize"
"clsid:ADB880A6-D8FF-11CF-9377- 00AA003B7A11"> 
"Command" value="Maximize"
"clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> 
"Command" value="Close"
 
 
 

 

 

//光标停在文字最后

 

"javascript">
function cc()
{
 var e = event.srcElement;
 var r =e.createTextRange();
 r.moveStart("character",e.value.length);
 r.collapse(true);
 r.select();
}

"123" onfocus="cc()">

//页面进入和退出的特效

进入页面 "Page-Enter" content="revealTrans (duration=x, transition=y)">
推出页面 "Page- Exit" content="revealTrans(duration=x, transition=y)"
这个 是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。transition表示使
用哪种特效,取值为1-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 

//网页是否被检索
"ROBOTS" content="属性值">
  其中属性值有以下一些:
   属性值为"all": 文件将被检索,且页上链接可被查询;
  属性值为"none": 文件不被检索,而且不查询页上的链接;
  属性值为"index": 文件将被检索;
  属性值为"follow": 查询页上的链 接;
  属性值为"noindex": 文件不检索,但可被查询链接;
  属性值为"nofollow"

 


//打印分页

"page-break-after:always">page1

 

  
"page-break-after:always">page2

 

  

 


//设置打印

"factory" style="display:none" viewastext
  classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
  codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"
>
"factory.printing.PageSetup ()">
"factory.printing.Preview()">
 

function window.onload()
{
   // -- advanced features
   factory.printing.SetMarginMeasure(2) // measure margins in inches
   factory.printing.SetPageRange(false, 1, 3)  // need pages from 1 to 3
   factory.printing.printer = "HP DeskJet 870C"
   factory.printing.copies = 2
   factory.printing.collate = true
   factory.printing.paperSize = "A4"
   factory.printing.paperSource = "Manual feed"
   // -- basic features
   factory.printing.header = "居左显示&b居中显示&b居 右显示页码,第&p页/共&P页"
   factory.printing.footer = "(自定义页脚)"
   factory.printing.portrait = false
   factory.printing.leftMargin = 0.75
   factory.printing.topMargin = 1.5
   factory.printing.rightMargin = 0.75
   factory.printing.bottomMargin = 1.5
}
function Print(frame) {
  factory.printing.Print(true, frame) // print with prompt
}

"打印本 页" onclick="factory.printing.Print(false)">
"页面设置" onclick="factory.printing.PageSetup()">
"打 印预览" onclick="factory.printing.Preview()">

"http://www.meadroid.com/scriptx/docs/printdoc.htm?static"  target=_blank>具体使用手册,更多信息,点这 里
 

//自带的打印预览

WebBrowser.ExecWB(1,1) 打开 
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口 
Web.ExecWB(4,1) 保存网页 
Web.ExecWB (6,1) 打印 
Web.ExecWB(7,1) 打印预览 
Web.ExecWB(8,1) 打印页面设置 
Web.ExecWB (10,1) 查看页面属性 
Web.ExecWB(15,1) 好像是撤销,有待确认 
Web.ExecWB(17,1) 全选 
Web.ExecWB(22,1) 刷新 
Web.ExecWB(45,1) 关闭窗体无提示 
 
.Noprint{display:none;} 
.PageNext{page-break-after: always;}  
 
"WebBrowser"  width=0  height=0  classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">    
    
 
"Noprint" >
 
 
 

 

 

  

//去掉打印时的页眉页脚

 

"JavaScript">  
var HKEY_Root,HKEY_Path,HKEY_Key;
HKEY_Root="HKEY_CURRENT_USER";
HKEY_Path="SoftwareMicrosoftInternet ExplorerPageSetup";
//设置网页打印 的页眉页脚为空
function PageSetup_Null()
{
 try
 {
         var Wsh=new ActiveXObject("WScript.Shell");
  HKEY_Key="header";
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
  HKEY_Key="footer";
  Wsh.RegWrite (HKEY_Root+HKEY_Path+HKEY_Key,"");
 }
 catch(e){}
}
//设置网页打印的页眉页脚为默认值
function  PageSetup_Default()
{  
 try
 {
  var Wsh=new ActiveXObject("WScript.Shell");
  HKEY_Key="header";
  Wsh.RegWrite (HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P");
  HKEY_Key="footer";
  Wsh.RegWrite (HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");
 }
 catch(e){}
}

"button" value="清空页码" onclick=PageSetup_Null()>
"button" value="恢复页 码" onclick=PageSetup_Default()>

//浏览器验证

function checkBrowser()

   this.ver=navigator.appVersion 
   this.dom=document.getElementById?1:0 
   this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0; 
   this.ie5=(this.ver.indexOf ("MSIE 5")>-1 && this.dom)?1:0; 
   this.ie4= (document.all && !this.dom)?1:0; 
   this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
   this.ns4=(document.layers && !this.dom)?1:0; 
   this.mac=(this.ver.indexOf ("Mac") > -1) ?1:0; 
   this.ope= (navigator.userAgent.indexOf("Opera")>-1); 
   this.ie=(this.ie6 || this.ie5 || this.ie4) 
   this.ns=(this.ns4 || this.ns5) 
   this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns5 || this.ns4 || this.mac || this.ope) 
   this.nbw=(!this.bw) 
   return this;
}

//计算内容宽和高
"javascript">  
function  test(obj)   
{  
       var  range  =  obj.createTextRange();  
       alert("内容区宽 度:  "  +  range.boundingWidth    
                    & nbsp;                             +  "px 内容区高 度:  "  +  range.boundingHeight  +  "px");  
             
}   
  
  
"txt" height="150">sdf"button"  value="计算内容宽度"  onClick="test(txt)">  

//无模式的提示框

function modelessAlert(Msg)
{
   window.showModelessDialog("javascript:alert(""+escape(Msg)+"");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;");
}

 

 

 

//屏蔽按键

 



   "Content-Type" content="text/html; charset=gb2312">
  
  


"Javascript">
Theme Design by  IMAGO DESIGN CORP.
posted @ 2006-03-25 17:49  E℃空间  阅读(256)  评论(0)    收藏  举报