现在的位置: 首页 > 综合 > 正文

JS常用代码(3)

2012年11月17日 ⁄ 综合 ⁄ 共 7265字 ⁄ 字号 评论关闭

//计算内容宽和高

<SCRIPT  language="javascript">   
function  test(obj)   
{   
      
var  range  =  obj.createTextRange();   
       alert(
"内容区宽度:  "  +  range.boundingWidth     
                                                 +  
"px"r"n内容区高度:  "  +  range.boundingHeight  +  "px"); 
 
              
}   
</SCRIPT>   
<BODY>   
<Textarea id=
"txt" height="150">sdf</textarea><INPUT  type="button"  value="计算内容宽度"  onClick="test(txt)"
 
</BODY>

//无模式的提示框function modelessAlert(Msg)
{
   window.showModelessDialog(
"javascript:alert("""+escape(Msg)+""");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;");
}

//屏蔽按键
<html>
<head>
  <meta http-equiv=
"Content-Type" content="text/html; charset=gb2312">
  <noscript><meta http-equiv=
"refresh" content="0;url=about:noscript"></noscript>
  <title>
屏蔽鼠标右键、Ctrl+NShift+F10Alt+F4F11F5刷新、退格键</title>
</head>
<body>
<script language=
"Javascript"><!--
  
//屏蔽鼠标右键、Ctrl+NShift+F10F11F5刷新、退格键
  
//Author: meizz(梅花雨) 2002-6-18
function document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠标右键
function window.onhelp(){returnfalse}//屏蔽F1帮助
function document.onkeydown()
{
  
if ((window.event.altKey)&&
      ((window.event.keyCode==37)||   
//屏蔽 Alt+方向键

       (window.event.keyCode==39)))   
//屏蔽 Alt+方向键

  {
     alert(
"不准你使用ALT+方向键前进或后退网页!");
     event.returnValue=
false;
  }
     
/* 注:这还不是真正地屏蔽 Alt+方向键,

     
因为 Alt+
方向键弹出警告框时,按住 Alt
键不放,
     
用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
     
有哪位高手有真正屏蔽 Alt键的方法,请告知。*/
  
if ((event.keyCode==8)  ||                 //屏蔽退格删除键
      (event.keyCode==116)||                 
//屏蔽 F5刷新键
      (event.ctrlKey && event.keyCode==82)){
//Ctrl + R
     event.keyCode=0;
     event.returnValue=
false;
     }
  
if (event.keyCode==122){event.keyCode=0;event.returnValue=false;}  //屏蔽F11
  
if (event.ctrlKey && event.keyCode==78) event.returnValue=false;   //屏蔽
Ctrl+n

  
if (event.shiftKey && event.keyCode==121)event.returnValue=false;  //屏蔽
shift+F10

  
if (window.event.srcElement.tagName =="A" && window.event.shiftKey)  
      window.event.returnValue =
false;            //屏蔽 shift加鼠标左键新开一网页
  
if ((window.event.altKey)&&(window.event.keyCode==115))            //屏蔽Alt+F4
  {
      window.showModelessDialog(
"about:blank","","dialogWidth:1px;dialogheight:1px");
      
returnfalse;
  }
}
</script>
屏蔽鼠标右键、Ctrl+NShift+F10Alt+F4F11F5刷新、退格键
</body>
</html>

//屏蔽打印
<style>
@media print{
* {display:none}
}
</style>

//移动的图层,拖动

1.<span style='position:absolute;width:200;height:200;background:red' onmousedown=MouseDown(this) onmousemove=MouseMove() onmouseup=MouseUp()>meizz</span>
<script language=javascript>
var Obj;
function MouseDown(obj)
{
  Obj=obj;
  Obj.setCapture();
  Obj.l=event.x-Obj.style.pixelLeft;
  Obj.t=event.y-Obj.style.pixelTop;
}
function MouseMove()
{
  
if(Obj!=null)
  {
    Obj.style.left = event.x-Obj.l;
    Obj.style.top = event.y-Obj.t;
  }
}
function MouseUp()
{
  
if(Obj!=null)
  {
    Obj.releaseCapture();
    Obj=
null;
  }
}
</script>
2.
<div id=
"myDiv" src="logo.gif" ondrag="doDrag();" onmouseover="this.style.cursor='hand'"
style=
"position:absolute;left=100;top=100;" onmousedown="doMouseDown();">
<a href=
"#" onclick="return false"><h1>wlecome</h1></a>
</div>
<script language=
"JavaScript" type="text/javascript">
var orgMouseX;
var orgMouseY;
var orgObjX;
var orgObjY;
function doDrag()
{
var myObject=document.all.myDiv;

var x=event.clientX;
var y=event.clientY;
myObject.style.left=x-(orgMouseX-orgObjX);
myObject.style.top=y-(orgMouseY-orgObjY);
  
}
function doMouseDown()
{
orgMouseX=event.clientX;
orgMouseY=event.clientY;
orgObjX=parseInt(document.all.myDiv.style.left);
orgObjY=parseInt(document.all.myDiv.style.top);
}

</script>
  
//
文档状态改变

<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 =
newArray();
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 =
newArray();
for (
var i=1;i<arguments.length;i++)
  argu[i-1] = arguments;
returnthis.apply(obj, argu);
};        

//下载文件

function DownURL(strRemoteURL,strLocalURL)
{
try
{
  
var xmlHTTP=newActiveXObject("Microsoft.XMLHTTP");
  xmlHTTP.open(
"Get",strRemoteURL,false);
  xmlHTTP.send();
  
var adodbStream=newActiveXObject("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 =
newActiveXObject("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>

//readyStatexmlhttp返回数据的进度,0=载入中,1=未初始化,2=已载入,3=运行中,4=完成

抱歉!评论已关闭.