常用的Javascript语句(三)

来源:互联网 发布:java sleep 编辑:程序博客网 时间:2024/04/30 03:16
  
//文档状态改变 

<iframe src="a.html" id="f" name="f" scrolling="no" frameborder=0 marginwidth=0 marginheight=0></iframe> 
<script> 
var doc=window.frames["f"].document; 
function s(){ 
if (doc.readyState=="complete"){ 
  document.all.f.style.height=doc.body.scrollHeight 
  document.all.f.style.width=doc.body.scrollWidth 


doc.onreadystatechange=s 
</script> 


//刷新后不变的文本框 <HTML> 
<HEAD> 
<META NAME="save" CONTENT="history"> 
<STYLE> 
   .sHistory {behavior:url(#default#savehistory);} 
</STYLE> 
</HEAD> 
<BODY> 
<INPUT class=sHistory type=text id=oPersistInput> 
</BODY> 
</HTML> 

//访问剪贴板 

event.dataTransfer.setData("URL", oImage.src); 
sImageURL = event.dataTransfer.getData("URL") 
(2)普通访问 
window.clipboardData.setData("Text",oSource.innerText); 
window.clipboardData.getData("Text"); 


//操作COOKIE 

function SetCookie(sName, sValue) 

document.cookie = sName + "=" + escape(sValue) + "; "; 

function GetCookie(sName) 

var aCookie = document.cookie.split("; "); 
for (var i=0; i < aCookie.length; i++) 

   
  var aCrumb = aCookie.split("="); 
  if (sName == aCrumb[0])  
  return unescape(aCrumb[1]); 

  

function DelCookie(sName) 

document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;"; 



//setTimeout增加参数 

<script> 
var _st = window.setTimeout; 
window.setTimeout = function(fRef, mDelay) { 
if(typeof fRef == ''function''){ 
  var argu = Array.prototype.slice.call(arguments,2); 
  var f = (function(){ fRef.apply(null, argu); }); 
  return _st(f, mDelay); 

return _st(fRef,mDelay); 

function test(x){ 
alert(x); 

window.setTimeout(test,1000,''fason''); 
</script> 


//自定义的apply,call 

Function.prototype.apply = function (obj, argu) { 
if (obj) obj.constructor.prototype._caller = this;  
var argus = new Array(); 
for (var i=0;i<argu.length;i++) 
  argus = "argu[" + i + "]"; 
var r; 
eval("r = " + (obj ? ("obj._caller(" + argus.join(",") + ");") : ("this(" + argus.join(",") + ");"))); 
return r; 
}; 
Function.prototype.call = function (obj) { 
var argu = new Array(); 
for (var i=1;i<arguments.length;i++) 
  argu[i-1] = arguments; 
return this.apply(obj, argu); 
};        

//下载文件 

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





//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); 
  alert(s.split("=")[1]); 


//--> 
</script> 
</body> 



//可编辑SELECT 

<input type=text name=re_name style="width:100px;height:21px;font-size:10pt;"><span style="width:18px;border:0px solid red;"><select name="r00" style="margin-left:-100px;width:118px; background-color:#FFEEEE;" 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> 


//自定义提示条 

<a href="#" 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>