常用的一些javascript小技巧

来源:互联网 发布:js material 侧滑菜单 编辑:程序博客网 时间:2024/05/29 08:06

常用的一些javascript小技巧

[作者:oror,from蓝色理想]

事件源对象 


event.srcElement.tagName 
event.srcElement.type 


………………………………


捕获释放 


event.srcElement.setCapture();  
event.srcElement.releaseCapture();


事件按键

 
event.keyCode 
event.shiftKey 
event.altKey 
event.ctrlKey 


事件返回值

 
event.returnValue 


鼠标位置 


event.x 
event.y 


窗体活动元素

 
document.activeElement 


绑定事件

 
document.captureEvents(Event.KEYDOWN); 


访问窗体元素 


document.all("txt").focus(); 
document.all("txt").select(); 


窗体命令 


document.execCommand 


窗体COOKIE 


document.cookie 


菜单事件 


document.oncontextmenu

 
创建元素


document.createElement("SPAN"); 


根据鼠标获得元素:

 
document.elementFromPoint(event.x,event.y).tagName=="TD 
document.elementFromPoint(event.x,event.y).appendChild(ms)


窗体图片

 
document.images[索引] 


窗体事件绑定 


document.onmousedown=scrollwindow; 


元素 


document.窗体.elements[索引]

 

对象绑定事件 


插件数目

 
navigator.plugins 


取变量类型

 
typeof($js_libpath) == "undefined" 


下拉框

 
下拉框.options[索引] 
下拉框.options.length 


查找对象 


document.getElementsByName("r1"); 
document.getElementById(id); 



定时 


UNCODE编码 


escape() ,unescape 


父对象 


obj.parentElement(dhtml) 
obj.parentNode(dom)


交换表的行

 
TableID.moveRow(2,1) 


替换CSS 


document.all.csss.href = "a.css"; 


并排显示 


display:inline

 
隐藏焦点 


hidefocus=true 


根据宽度换行

 
style="word-break:break-all"

 
自动刷新 


<meta HTTP-EQUIV="refresh" CONTENT="8;URL=http://c98.yeah.net">

 
简单邮件

 
<a href="mailto:aaa@bbb.com?subject=ccc&body=xxxyyy"> 


快速转到位置 


obj.scrollIntoView(true)

 


 
<a name="first"> 
<a href="#first">anchors</a> 


网页传递参数

 
location.search();


可编辑

 
obj.contenteditable=true 


执行菜单命令

 
obj.execCommand 


双字节字符 


/[^/x00-/xff]/ 


汉字 


/[/u4e00-/u9fa5]/ 


让英文字符串超出表格宽度自动换行

 
word-wrap: break-word; word-break: break-all; 


透明背景

 
<IFRAME src="1.htm" width=300 height=180 allowtransparency></iframe> 


获得style内容

 
obj.style.cssText 


HTML标签

 
document.documentElement.innerHTML 


第一个style标签

 
document.styleSheets[0] 


style标签里的第一个样式

 
document.styleSheets[0].rules[0] 


防止点击空链接时,页面往往重置到页首端。

 
<a href="javascript:function()">word</a> 


上一网页源

 
asp: 
request.servervariables("HTTP_REFERER") 
javascript: 
document.referrer 


释放内存

 
CollectGarbage();


禁止右键 


document.oncontextmenu = function() { return false;} 


禁止保存 


<noscript><iframe src="*.htm"></iframe></noscript>


禁止选取


<body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" 
onselect="document.selection.empty)" oncopy="document.selection.empty)" onbeforecopy=
"return false"onmouseup="document.selection.empty()> 


禁止粘贴

 
<input type=text onpaste="return false"> 


地址栏图标 


<link rel="Shortcut Icon" href="favicon.ico">

favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下 
收藏栏图标 

<link rel="Bookmark" href="favicon.ico"> 



查看源码


关闭输入法

 
<input style="ime-mode:disabled"> 


自动全选

 
<input type=text name=text1 value="123" onfocus="this.select()"> 


ENTER键可以让光标移到下一个输入框

 
<input onkeydown="if(event.keyCode==13)event.keyCode=9">


文本框的默认值

 
<input type=text value="123" onfocus="alert(this.defaultValue)"> 


title换行

 
obj.title = "123&#13sdfs&#32" 


获得时间所代表的微秒 


var n1 = new Date("2004-10-10".replace(/-/g, "//")).getTime() 


窗口是否关闭 


win.closed 


checkbox扁平

 
<input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"> 


获取选中内容 


document.selection.createRange().duplicate().text


自动完成功能

 
<input  type=text  autocomplete=on>打开该功能  
<input  type=text  autocomplete=off>关闭该功能 


窗口最大化 


<body onload="window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4)"> 


无关闭按钮IE

 
window.open("aa.htm", "meizz", "fullscreen=7"); 


统一编码/解码

 
alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe"))) 
encodeURIComponent对":"、"/"、";" 和 "?"也编码 



表格行指示


//各种尺寸 


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

 

//不缓存 


<META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> 
<META HTTP-EQUIV="expires" CONTENT="0"> 


//正则匹配 


匹配中文字符的正则表达式: [/u4e00-/u9fa5] 
匹配双字节字符(包括汉字在内):[^/x00-/xff] 
匹配空行的正则表达式:/n[/s| ]*/r 
匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/  
匹配首尾空格的正则表达式:(^/s*)|(/s*$)(像vbscript那样的trim函数) 
匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* 
匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)? 


以下是例子: 
利用正则表达式限制网页表单里的文本框输入内容:


//消除图像工具栏
[/html]
<IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false">  
or 
<head> 
<meta http-equiv="imagetoolbar" content="no"> 
</head> 
[/html]
//取得控件得绝对位置(1)
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
//获得控件的绝对位置(2) 


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


//打印分页


<p  style="page-break-after:always">page1</p>   
<p  style="page-break-after:always">page2</p>   


//设置打印
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
//自带的打印预览 


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) 关闭窗体无提示  
<style media=print>  
.Noprint{display:none;}<!--用本样式在打印时隐藏非打印项目-->  
.PageNext{page-break-after: always;}<!--控制分页-->  
</style>  
<object  id="WebBrowser"  width=0  height=0  classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">     
</object>     
  
<center class="Noprint" > 
<input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)>  
<input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)>  
<input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)>  
</p>  
<p> <input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)>  
</center>



//去掉打印时的页眉页脚 
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
//无模式的提示框 


function modelessAlert(Msg) 

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




//下载文件 


function DownURL(strRemoteURL,strLocalURL) 

 try 
 { 
  var xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP"); 
  xmlHTTP.open("Get",strRemoteURL,false); 
  xmlHTTP.send(); 
  var adodbStream=new ActiveXObject("ADODB.Stream"); 
  adodbStream.Type=1;//1=adTypeBinary 
  adodbStream.Open(); 
  adodbStream.write(xmlHTTP.responseBody); 
  adodbStream.SaveToFile(strLocalURL,2); 
  adodbStream.Close(); 
  adodbStream=null; 
  xmlHTTP=null; 
   
 } 
 catch(e) 
 { 
  window.confirm("下载URL出错!"); 
 } 
 //window.confirm("下载完成."); 



//检验连接是否有效 


function getXML(URL)  

 var xmlhttp = new ActiveXObject("microsoft.xmlhttp"); 
 xmlhttp.Open("GET",URL, false);  
 try 
 {  
  xmlhttp.Send(); 
 } 
 catch(e){} 
 finally  
 { 
  var result = xmlhttp.responseText; 
  if(result)  
  { 
   if(xmlhttp.Status==200) 
   { 
    return(true); 
   } 
   else  
   { 
    return(false); 
   } 
  } 
  else  
  { 
   return(false); 
  } 
 } 
}

 
//检查网页是否存在 


function CheckURL(URL) 

  var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
  xmlhttp.Open("GET",URL, false); 
  try 
  {  
    xmlhttp.Send();  
    var result = xmlhttp.status; 
  } 
  catch(e) {return(false); } 
  if(result==200) 
  {  
    return true; 
  } 
  xmlhttp = null; 
  return false; 
}



//禁止FSO 


1.注销组件 
regsvr32 /u scrrun.dll 
2.修改PROGID 
HKEY_CLASSES_ROOT/Scripting.FileSystemObject 
Scripting.FileSystemObject 
3.对于使用object的用户,修改HKEY_CLASSES_ROOT/Scripting. 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 房开逾期交房怎么办 买了保险想退保怎么办 辐射避难所探索废土死了怎么办 大门上边的齿轮滑丝怎么办 国通石油储油卡怎么办 买大棚房受骗了怎么办 朋友做安利天天来我门面怎么办 安利优惠顾客卡怎么办 苹果手机天气温度不显示怎么办? 安利净水器坏了怎么办 安利净水器滤芯盖搭配坏怎么办 安利会员卡过期了怎么办 婴儿吃了润唇膏怎么办? 用错沐浴露洗头怎么办 雅蜜润肤沐浴露怎么办 自煮小火锅水放少了怎么办 安利皇后锅发黑怎么办 宝宝灌肠后不拉屎怎么办 吃蛋白质粉肚子长胖了怎么办 安利产品过期了怎么办 拼多多拼不到人怎么办 被海南大宗骗了怎么办 手机被游戏扣钱怎么办 做酵素剩下的水果怎么办 喝了酵素胃疼怎么办 海科融通不到账怎么办 美团外卖没生意怎么办 淘宝联盟领券销售怎么办 微信返利被骗了怎么办 众筹失败后资金怎么办 健身房不给退卡怎么办 婆婆陷入民间传销组织怎么办 被三生公司骗了怎么办? ppt保存成了图片怎么办 苹果6速度变慢了怎么办 苹果6s速度很慢怎么办 微信支付上限了怎么办 佳享健康骗老人怎么办 宝宝吃了硅胶乳贴怎么办 用完卫生巾后阴部有些不舒服怎么办 指甲上有荧光剂怎么办