Javascript 技巧大全

来源:互联网  作者:未知
摘要:vt 事件事件源对象vt.rlement.tagNameevent.srcElement.type捕获释放event.srcElement.setCapture();event.srcElement.releaseCapture();事件按……

自定义提示条

<a href="http://www.liuchao8.cn/admin.php#" title="这是提示">tip</a>
<script Language="JavaScript">
//***********默认设置定义.*********************
tPopWait=50;//停留tWait豪秒后显示提示。
tPopShow=5000;//显示tShow豪秒后关闭提示
showPopStep=20;
popOpacity=99;
//***************内部变量定义*****************
sPop=null;
curShow=null;
tFadeOut=null;
tFadeIn=null;
tFadeWaiting=null;
document.write("<style type='text/css'id='defaultPopStyle'>");
document.write(".cPopText {  background-color: #F8F8F5;color:#000000;
border: 1px #000000 solid;font-color: font-size: 12px; padding-right: 4px; padding-left: 4px;
height: 20px; padding-top: 2px; padding-bottom: 2px; filter: Alpha(Opacity=0)}");
document.write("</style>");
document.write("<div id='dypopLayer' style='position:absolute;z-index:1000;' class='cPopText'></div>");

function showPopupText(){
var o=event.srcElement;
MouseX=event.x;
MouseY=event.y;
if(o.alt!=null && o.alt!=""){o.dypop=o.alt;o.alt=""};
      if(o.title!=null && o.title!=""){o.dypop=o.title;o.title=""};
if(o.dypop!=sPop) {
sPop=o.dypop;
clearTimeout(curShow);
clearTimeout(tFadeOut);
clearTimeout(tFadeIn);
clearTimeout(tFadeWaiting);
if(sPop==null

sPop=="") {
dypopLayer.innerHTML="";
dypopLayer.style.filter="Alpha()";
dypopLayer.filters.Alpha.opacity=0;
}
else {
if(o.dyclass!=null) popStyle=o.dyclass
else popStyle="cPopText";
curShow=setTimeout("showIt()",tPopWait);
}
}
}
function showIt(){
dypopLayer.className=popStyle;
dypopLayer.innerHTML=sPop;
popWidth=dypopLayer.clientWidth;
popHeight=dypopLayer.clientHeight;
if(MouseX+12+popWidth>document.body.clientWidth) popLeftAdjust=-popWidth-24
else popLeftAdjust=0;
if(MouseY+12+popHeight>document.body.clientHeight) popTopAdjust=-popHeight-24
else popTopAdjust=0;
dypopLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust;
dypopLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust;
dypopLayer.style.filter="Alpha(Opacity=0)";
fadeOut();
}
function fadeOut(){
if(dypopLayer.filters.Alpha.opacity<popOpacity) {
dypopLayer.filters.Alpha.opacity+=showPopStep;
tFadeOut=setTimeout("fadeOut()",1);
}
else {
dypopLayer.filters.Alpha.opacity=popOpacity;
tFadeWaiting=setTimeout("fadeIn()",tPopShow);
}
}
function fadeIn(){
if(dypopLayer.filters.Alpha.opacity>0) {
dypopLayer.filters.Alpha.opacity-=1;
tFadeIn=setTimeout("fadeIn()",1);
}
}
document.onmouseover=showPopupText;
</script>

插入文字

document.onclick =function(){
var oSource = window.event.srcElement;
if(oSource.tagName!="DIV")
return false;
var sel = document.selection;
if (sel!=null) {
var rng = sel.createRange();
if (rng!=null)
rng.pasteHTML("<font color=red>插入文字</font>");
}
}

netscapte下操作xml

doc = new ActiveXObject("Msxml2.DOMDocument");
doc = new ActiveXObject("Microsoft.XMLDOM")
doc = (new DOMParser()).parseFromString(sXML,'text/xml')

判断键值

<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<head>
<script language="javascript">
var ie  =navigator.appName=="Microsoft Internet Explorer"?true:false;
function keyDown(e)
{
 if(!ie)
 {
  var nkey=e.which;
  var iekey='现在是ns浏览器';
  var realkey=String.fromCharCode(e.which);
 }
 if(ie)
 {
  var iekey=event.keyCode;
  var nkey='现在是ie浏览器';
  var realkey=String.fromCharCode(event.keyCode);
  if(event.keyCode==32){realkey='\' 空格\''}
  if(event.keyCode==13){realkey='\' 回车\''}
  if(event.keyCode==27){realkey='\' Esc\''}
  if(event.keyCode==16){realkey='\' Shift\''}
  if(event.keyCode==17){realkey='\' Ctrl\''}
  if(event.keyCode==18){realkey='\' Alt\''}
 }
 alert('ns浏览器中键值:'+nkey+'\n'+'ie浏览器中键值:'+iekey+'\n'+'实际键为'+realkey);
}
document.onkeydown = keyDown;
</script>
</head>
<body>
//Javascript Document.
<hr>
<center>
<h3>请按任意一个键。。。。</h3>
</center>
</body>
</html>

禁止FSO

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

省略号

<DIV STYLE="width: 120px; height: 50px; border: 1px solid blue; overflow: hidden; text-overflow:ellipsis">
<NOBR>就是比如有一行文字,很长,表格内一行显示不下.</NOBR>
</DIV>

检测media play版本

<IE:clientCaps ID="oClientCaps" />
<SCRIPT>
  var flash="";
  WMPVersion= oClientCaps.getComponentVersion("{22D6F312-B0F6-11D0-94AB-0080C74C7E95}","ComponentID");
  if (WMPVersion != "") {
  flash = "";
  var version = WMPVersion.split(",");
  var i;
  for (i = 0; i < version.length; i++) {
    if (i != 0)
  flash += ".";
    flash += version[i];
  }
   document.write("您的Windows Media Player 版本是:"+flash+"<p>");
  }
</SCRIPT>

图象按比例

<script language="JavaScript">
<!--
//图片按比例缩放
var flag=false;
function DrawImage(ImgD){
 var image=new Image();
 var iwidth = 80;  //定义允许图片宽度
 var iheight = 80;  //定义允许图片高度
 image.src=ImgD.src;
 if(image.width>0 && image.height>0){
 flag=true;
 if(image.width/image.height>= iwidth/iheight){
  if(image.width>iwidth){
  ImgD.width=iwidth;
  ImgD.height=(image.height*iwidth)/image.width;
  }else{
  ImgD.width=image.width;
  ImgD.height=image.height;
  }
  ImgD.alt=image.width+"×"+image.height;
  }
 else{
  if(image.height>iheight){
  ImgD.height=iheight;
  ImgD.width=(image.width*iheight)/image.height;
  }else{
  ImgD.width=image.width;
  ImgD.height=image.height;
  }
  ImgD.alt=image.width+"×"+image.height;
  }
 }
}
//-->
</script>
<img src=".." onload = "DrawImage(this)">

细线SELECT

<span >
<select>
<option>1111</option>
<option>11111111111111</option>
<option>111111111</option>
</select></span>

Import

function Import() {
 for( var i=0; i<arguments.length; i++ ) {
  var file = arguments[i];
  if ( file.match(/\.js$/i))
   document.write('<script type=\"text/javascript\" src=\"' + file + '\"></sc' + 'ript>');
  else
   document.write('<style type=\"text/css\">@import \"' + file + '\" ;</style>');
 }
};

js枚举

function getComputerName()
{
 var objWMIService = GetObject("Winmgmts:root\cimv2");
 for(e = new Enumerator(objWMIService) ; !e.atEnd() ; e.moveNext())
 {
  var getComputer = e.item();
  return getComputer.Name;
 }
}

条件编译

<script language=javascript>
/*@cc_on @*/
/*@if (@_win32 && @_jscript_version>5)
function window.confirm(str)
{
  execScript("n = msgbox('"+ str +"', 257)", "vbscript");
  return(n == 1);
}
@end @*/
</script>

取得innerText

<SCRIPT LANGUAGE="JavaScript">
<!--
 var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
 var currNode;
 xmlDoc.async = false;
 xmlDoc.async = false;
 xmlDoc.loadXML("<TABLENAME> 和谐新世纪、引领新未来 </TABLENAME>");
 currNode = xmlDoc.documentElement;
  var s = currNode.xml;
  var r = /\<([^\>\s]*?)[^\>]*?\>([^\<]*?)\<\/\1\>/
  var b = s.replace(r,"$2");
  alert(b);
//-->
</SCRIPT>

mergeAttributes 复制所有读/写标签属性到指定元素

<SCRIPT>
function fnMerge(){
oSource.children[1].mergeAttributes(oSource.children[0]);
}
</SCRIPT>
<SPAN ID=oSource>
<DIV ID="oDiv" ATTRIBUTE1="true" ATTRIBUTE2="true" onclick="alert('click');" onmouseover="this.style.color='#0000FF';" onmouseout="this.style.color='#000000';">
This is a sample <B>DIV</B> element.
</DIV>
<DIV ID="oDiv2">
This is another sample <B>DIV</B> element.
</DIV>
</SPAN>
<INPUT TYPE="button" VALUE="Merge Attributes" onclick="fnMerge()">

文章挺全面。不过实际上由于版本的差异和兼容、安全性对脚本的苛刻要求,很多代码已经失去应有的效果。但依然具有其研究很收藏的价值!!!

【相关文章】好搜一下
Firefox中的XML DOM探讨

Firefox中的XML DOM探讨

现在我们来看看Firefox中的XMLDOM实现,Firefox的开发人员采用更…