Javascript 技巧大全

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

检验连接是否有效

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);
  }
 }
}

POST代替FORM

<SCRIPT language="VBScript">
Function URLEncoding(vstrIn)
  strReturn = ""
  For i = 1 To Len(vstrIn)
      ThisChr = Mid(vStrIn,i,1)
      If Abs(Asc(ThisChr)) < &HFF Then
          strReturn = strReturn & ThisChr
      Else
          innerCode = Asc(ThisChr)
          If innerCode < 0 Then
              innerCode = innerCode + &H10000
          End If
          Hight8 = (innerCode  And &HFF00)\ &HFF
          Low8 = innerCode And &HFF
          strReturn = strReturn & "%" & Hex(Hight8) &  "%" & Hex(Low8)
      End If
  Next
  URLEncoding = strReturn
End Function
Function bytes2BSTR(vIn)
  strReturn = ""
  For i = 1 To LenB(vIn)
      ThisCharCode = AscB(MidB(vIn,i,1))
      If ThisCharCode < &H80 Then
          strReturn = strReturn & Chr(ThisCharCode)
      Else
          NextCharCode = AscB(MidB(vIn,i+1,1))
          strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
          i = i + 1
      End If
  Next
  bytes2BSTR = strReturn
End Function
dim strA,oReq
strA = URLEncoding("submit1=Submit&text1=中文")
set oReq = CreateObject("MSXML2.XMLHTTP")
oReq.open "POST","http://ServerName/VDir/TstResult.asp",false
oReq.setRequestHeader "Content-Length",Len(strA)
oReq.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
oReq.send strA
msgbox bytes2BSTR(oReq.responseBody)
</SCRIPT>
//readyState是xmlhttp返回数据的进度,0=载入中,1=未初始化,2=已载入,3=运行中,4=完成

组件是否安装

isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "componentID"))

检查网页是否存在

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;
}

连接数据库

<script language="javascript">
  //用 JavaScript 写服务器端连接数据库的代码示例
  var conn = new ActiveXObject("ADODB.Connection");
  conn.Open("Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa; "
  +"Password=; Initial Catalog=pubs");
  var rs = new ActiveXObject("ADODB.Recordset");
  var sql="select * from authors";
  rs.open(sql, conn);
 shtml = "<table width='100%' border=1>";
 shtml +="<tr bgcolor='#f4f4f4'><td>au_id</td><td>au_lname</td><td>au_fname</td><td>phone</td><td>address</td><td> city</td><td>state</td><td>zip</td></tr>";
  while(!rs.EOF)
  {
 shtml += "<tr><td>" + rs("au_id") + "</td><td>" + rs("au_lname") + "</td><td>" + rs("au_fname") + "</td><td>" + rs("phone") + "</td><td>" + rs("address") + "</td><td>" + rs("city") + "</td><td>" + rs("state") + "</td><td>" + rs("zip") + "</td></tr>";
 rs.moveNext;
  }
  shtml += "</table>";
  document.write(shtml);
  rs.close();
  rs = null;
  conn.close();
  conn = null;
</script>

使用数据岛

<html>
<body>
srno:<input type=text datasrc=#xmldate DataFLD=srno size="76"><BR>
times:<input type=text datasrc=#xmldate DataFLD=times size="76"><BR>
<input id="first" TYPE=button value="<< 第一条记录" onclick="xmldate.recordset.moveFirst()">
<input id="prev" TYPE=button value="<上一条记录" onclick="xmldate.recordset.movePrevious()">
<input id="next" TYPE=button value="下一条记录>" onclick="xmldate.recordset.moveNext()">
<input id="last" TYPE=button value="最后一条记录>>" onclick="xmldate.recordset.moveLast()">
<input id="Add" TYPE=button value="添加新记录" onclick="xmldate.recordset.addNew()">
<XML ID="xmldate">
<infolist>
<info ><srno>20041025-01</srno><times>null</times></info>
<info ><srno>20041101-09</srno><times>2004年10月1日2点22分0秒</times></info>
</infolist>
</XML>
</body>
</html>

获得参数

<body>
<a href="javascript:location.href=location.href + '?a=1&b=2'">search</a>
<script language="JavaScript">
<!--
var a = location.search.substr(1);
if(a.length>0)
{
 var re = /([^&]*?)\=([^&]*)/g
 var s = a.match(re);
 for(var i= 0;i<s.length;i++)
 {
  alert(s[i]);
  alert(s[i].split("=")[1]);
 }
}
//-->
</script>
</body>

可编辑SELECT

<input type=text name=re_name><span><select name="r00" onChange="document.all.re_name.value=this.value;">
              <option value="1">11111111<option>
              <option value="2">222222</option>
              <option value="3">333333</option>
            </select>
            </span>

设置光标位置

function getCaret(textbox){
 var control = document.activeElement;
 textbox.focus();
 var rang = document.selection.createRange();
 rang.setEndPoint("StartToStart",textbox.createTextRange())
 control.focus();
 return rang.text.length;
}
function setCaret(textbox,pos){
 try{
  var r =textbox.createTextRange();
   r.moveStart('character',pos);
   r.collapse(true);
   r.select();
 }
 catch(e)
 {}
}
function selectLength(textbox,start,len){
 try
 {
  var r =textbox.createTextRange();
  r.moveEnd('character',len-(textbox.value.length-start));
  r.moveStart('character',start);
  r.select();
 }
 catch(e)
 {//alert(e.description)}
}
function insertAtCaret(textbox,text){
 textbox.focus();
 document.selection.createRange().text = text;
}

页内查找

function findInPage(str){
 var txt, i, found,n = 0;
 if (str == "") {
  return false;
 }
 txt = document.body.createTextRange();
 for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
  txt.moveStart("character", 1);
  txt.moveEnd("textedit");
 }
 if (found) {
  txt.moveStart("character", -1);
  txt.findText(str);
  txt.select();
  txt.scrollIntoView();
  n++;
 }
 else {
  if (n > 0) {
   n = 0;
   findInPage(str);
  }
  else {
   alert(str + "... 您要找的文字不存在。\n \n请试着输入页面中的关键字再次查找!");
  }
 }
 return false;
}

操作EXECL

<script language="javascript">
function jStartExcel() {
 var xls = new ActiveXObject ( "Excel.Application" );
 xls.visible = true;
 var newBook = xls.Workbooks.Add;
 newBook.Worksheets.Add;
 newBook.Worksheets(1).Activate;
 xls.ActiveWorkBook.ActiveSheet.PageSetup.Orientation = 2;
 xls.ActiveWorkBook.ActiveSheet.PageSetup.PaperSize = 5;
 newBook.Worksheets(1).Columns("A").columnwidth=50;
 newBook.Worksheets(1).Columns("A").WrapText = true;
 newBook.Worksheets(1).Columns("B").columnwidth=50;
 newBook.Worksheets(1).Columns("B").WrapText = true;
 newBook.Worksheets(1).Range("A1:B1000").NumberFormat = "0";
 newBook.Worksheets(1).Range("A1:B1000").HorizontalAlignment = -4131;
 newBook.Worksheets(1).Cells(1,1).Interior.ColorIndex="15";
 newBook.Worksheets(1).Cells(1,1).value="First Column, First Cell";
 newBook.Worksheets(1).Cells(2,1).value="First Column, Second Cell";
 newBook.Worksheets(1).Cells(1,2).value="Second Column, First Cell";
 newBook.Worksheets(1).Cells(2,2).value="Second Column, Second Cell";
 newBook.Worksheets(1).Name="My First WorkSheet";
}
</script>

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

Firefox中的XML DOM探讨

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