javascript技巧大全二
javascript技巧大全二
//屏蔽打印
<style>
@media print{
* {display:none}
}
</style>
//移動的圖層,拖動
<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>
?
//文檔狀態(tài)改變
<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>
//刷新后不變的文本框
?
//訪問剪貼板
?
//操作COOKIE
{
?document.cookie?=?sName?+?"="?+?escape(sValue)?+?";?";
}
function?GetCookie(sName)
{
?var?aCookie?=?document.cookie.split(";?");
?for?(var?i=0;?i?<?aCookie.length;?i++)
?{
??
??var?aCrumb?=?aCookie[i].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增加參數(shù)
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
?if?(obj)?obj.constructor.prototype._caller?=?this;?
?var?argus?=?new?Array();
?for?(var?i=0;i<argu.length;i++)
??argus[i]?=?"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[i];
?return?this.apply(obj,?argu);
};???????
//下載文件
{
?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("下載完成.");
}
//檢驗連接是否有效
?
//組件是否安裝
isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "componentID"))
//檢查網頁是否存在
{
??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;
}
//連接數(shù)據庫
??//用?JavaScript?寫服務器端連接數(shù)據庫的代碼示例
??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>
//使用數(shù)據島
?
?
<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>
//獲得參數(shù)
?
?
<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
?
?
????????????????<option?value="1">11111111<option>
????????????????<option?value="2">222222</option>
????????????????<option?value="3">333333</option>
??????????????</select>
??????????????</span>
//設置光標位置
{
?var?
?
{
?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
?
?
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返回數(shù)據的進度,0=載入中,1=未初始化,2=已載入,3=運行中,4=完成
?
event.dataTransfer.setData("URL",?oImage.src);
sImageURL?=?event.dataTransfer.getData("URL")
(2)普通訪問
window.clipboardData.setData("Text",oSource.innerText);
window.clipboardData.getData("Text");
?
<HEAD>
<META?NAME="save"?CONTENT="history">
<STYLE>
???.sHistory?{behavior:url(#default#savehistory);}
</STYLE>
</HEAD>
<BODY>
<INPUT?class=sHistory?type=text?id=oPersistInput>
</BODY>
</HTML>
?
<p??style="page-break-after:always">page2</p>??
?
其中屬性值有以下一些:
屬性值為"all":?文件將被檢索,且頁上鏈接可被查詢;
屬性值為"none":?文件不被檢索,而且不查詢頁上的鏈接;
屬性值為"index":?文件將被檢索;
屬性值為"follow":?查詢頁上的鏈接;
屬性值為"noindex":?文件不檢索,但可被查詢鏈接;
屬性值為"nofollow":?
?
<param?name="Command"?value="Minimize"></object>?
<object?id=max?classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">?
<param?name="Command"?value="Maximize"></object>?
<OBJECT?id=close?classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">?
<PARAM?NAME="Command"?value="Close"></OBJECT>?
<input?type=button?value=最小化?onclick=min.Click()>?
<input?type=button?value=最大化?onclick=max.Click()>?
<input?type=button?value=關閉?onclick=close.Click()>?
?
<META?HTTP-EQUIV="Cache-Control"?CONTENT="no-cache,?must-revalidate">
<META?HTTP-EQUIV="expires"?CONTENT="0">
?
?
<input?type=button?value=導出收藏夾?onclick="window.external.ImportExportFavorites(false,'http://localhost');">
<input?type=button?value=整理收藏夾?onclick="window.external.ShowBrowserUI('OrganizeFavorites',?null)">
<input?type=button?value=語言設置???onclick="window.external.ShowBrowserUI('LanguageDialog',?null)">
<input?type=button?value=加入收藏夾?onclick="window.external.AddFavorite('http://www.google.com/',?'google')">
<input?type=button?value=加入到頻道?onclick="window.external.addChannel('http://www.google.com/')">
<input?type=button?value=加入到頻道?onclick="window.external.showBrowserUI('PrivacySettings',null)">
?
javascript技巧大全一
-
事件源對象
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 -
創(chuàng)建元素
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[索引] -
對象綁定事件
document.all.xxx.detachEvent('onclick',a); -
插件數(shù)目
navigator.plugins -
取變量類型
typeof($js_libpath) == "undefined" -
下拉框
下拉框.options[索引]
下拉框.options.length -
查找對象
document.getElementsByName("r1");
document.getElementById(id); -
定時
timer=setInterval('scrollwindow()',delay);
clearInterval(timer); -
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> -
網頁傳遞參數(shù)
location.search(); -
可編輯
obj.contenteditable=true -
執(zhí)行菜單命令
obj.execCommand -
雙字節(jié)字符
/[^\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 type=button value=查看網頁源代碼 onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'"> -
關閉輸入法
<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
sdfs " -
獲得時間所代表的微秒
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)"><br> -
獲取選中內容
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"); -
統(tǒng)一編碼/解碼
alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe")))
encodeURIComponent對":"、"/"、";" 和 "?"也編碼 -
表格行指示
<tr onmouseover="this.bgColor='#f0f0f0'" onmouseout="this.bgColor='#ffffff'">
//各種尺寸s??+=??"\r\n網頁可見區(qū)域寬:"+??document.body.clientWidth;??
s??+=??"\r\n網頁可見區(qū)域高:"+??document.body.clientHeight;??
s??+=??"\r\n網頁可見區(qū)域高:"+??document.body.offsetWeight??+"??(包括邊線的寬)";??
s??+=??"\r\n網頁可見區(qū)域高:"+??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屏幕可用工作區(qū)高度:"+??window.screen.availHeight;??
s??+=??"\r\n屏幕可用工作區(qū)寬度:"+??window.screen.availWidth;??
//過濾數(shù)字
?
//特殊用途
?
//不緩存
?
//正則匹配
?
匹配雙字節(jié)字符(包括漢字在內):[^\x00-\xff]
匹配空行的正則表達式:\n[\s|?]*\r
匹配HTML標記的正則表達式:/<(.*)>.*<\/\1>|<(.*)?\/>/?
匹配首尾空格的正則表達式:(^\s*)|(\s*$)(像vbscript那樣的trim函數(shù))
匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配網址URL的正則表達式:http://([\w-]+\.)+[\w-]+(/[\w-?./?%&=]*)?
以下是例子:
利用正則表達式限制網頁表單里的文本框輸入內容:
用正則表達式限制只能輸入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"?onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
1.用正則表達式限制只能輸入全角字符:?onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')"?onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
2.用正則表達式限制只能輸入數(shù)字:onkeyup="value=value.replace(/[^\d]/g,'')?"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
3.用正則表達式限制只能輸入數(shù)字和英文:onkeyup="value=value.replace(/[\W]/g,'')?"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
//消除圖像工具欄
?
?
or
<head>
<meta?http-equiv="imagetoolbar"?content="no">
</head>
//無提示關閉
{
?var?ua=navigator.userAgent
?var?ie=navigator.appName=="Microsoft?Internet?Explorer"?true:false
?if(ie)
?{
??????var?IEversion=parseFloat(ua.substring(ua.indexOf("MSIE?")+5,ua.indexOf(";",ua.indexOf("MSIE?"))))
??if(IEversion<?5.5)
??{
???var?str??=?'<object?id=noTipClose?classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
???????str?+=?'<param?name="Command"?value="Close"></object>';
???????document.body.insertAdjacentHTML("beforeEnd",?str);
???????document.all.noTipClose.Click();
??}
??????else
??{
???????window.opener?=null;
???????window.close();
??????}
???}
?else
?{
??window.close()
???}
}
//取得控件得絕對位置(1)
function?getoffset(e)
{?
?var?t=e.offsetTop;?
?var?l=e.offsetLeft;?
?while(e=e.offsetParent)
?{?
??t+=e.offsetTop;?
??l+=e.offsetLeft;?
?}?
?var?rec?=?new?Array(1);
?rec[0]??=?t;
?rec[1]?=?l;
?return?rec
}?
</script>
//獲得控件的絕對位置(2)
oRect.left
oRect.
//最小化,最大化,關閉
?
?
//光標停在文字最后
?
function?cc()
{
?var?e?=?event.srcElement;
?var?r?=e.createTextRange();
?r.moveStart('character',e.value.length);
?r.collapse(true);
?r.select();
}
</script>
<input?type=text?name=text1?value="123"?onfocus="cc()">
//頁面進入和退出的特效
推出頁面<meta?http-equiv="Page-Exit"?content="revealTrans(duration=x,?transition=y)">?
這個是頁面被載入和調出時的一些特效。duration表示特效的持續(xù)時間,以秒為單位。transition表示使
用哪種特效,取值為1-23:
0?矩形縮小?
1?矩形擴大?
2?圓形縮小
3?圓形擴大?
4?下到上刷新?
5?上到下刷新
6?左到右刷新?
7?右到左刷新?
8?豎百葉窗
9?橫百葉窗?
10?錯位橫百葉窗?
11?錯位豎百葉窗
12?點擴散?
13?左右到中間刷新?
14?中間到左右刷新
15?中間到上下
16?上下到中間?
17?右下到左上
18?右上到左下?
19?左上到右下?
20?左下到右上
21?橫條?
22?豎條?
23?
//網頁是否被檢索
?
//打印分頁
?
//設置打印
??classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
??codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"
></object>
<input?type=button?value=頁面設置?onclick="factory.printing.PageSetup()">
<input?type=button?value=打印預覽?onclick="factory.printing.Preview()">
?
<script?language=javascript>
function?window.onload()
{
???//?--?advanced?features
???factory.printing.SetMarginMeasure(2)?//?measure?margins?in?inches
???factory.printing.SetPageRange(false,?1,?3)?//?need?pages?from?1?to?3
???factory.printing.printer?=?"HP?DeskJet?870C"
???factory.printing.copies?=?2
???factory.printing.collate?=?true
???factory.printing.paperSize?=?"A4"
???factory.printing.paperSource?=?"Manual?feed"
???//?--?basic?features
???factory.printing.header?=?"居左顯示&b居中顯示&b居右顯示頁碼,第&p頁/共&P頁"
???factory.printing.footer?=?"(自定義頁腳)"
???factory.printing.portrait?=?false
???factory.printing.leftMargin?=?0.75
???factory.printing.topMargin?=?1.5
???factory.printing.rightMargin?=?0.75
???factory.printing.bottomMargin?=?1.5
}
function?Print(frame)?{
??factory.printing.Print(true,?frame)?//?print?with?prompt
}
</script>
<input?type=button?value="打印本頁"?onclick="factory.printing.Print(false)">
<input?type=button?value="頁面設置"?onclick="factory.printing.PageSetup()">
<input?type=button?value="打印預覽"?onclick="factory.printing.Preview()"><br>
<a?href="http://www.meadroid.com/scriptx/docs/printdoc.htm?static"??target=_blank>具體使用手冊,更多信息,點這里</a>
?
//自帶的打印預覽
Web.ExecWB(2,1)?關閉現(xiàn)在所有的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>
//去掉打印時的頁眉頁腳
var?HKEY_Root,HKEY_Path,HKEY_Key;
HKEY_Root="HKEY_CURRENT_USER";
HKEY_Path="\\Software\\Microsoft\\Internet?Explorer\\PageSetup\\";
//設置網頁打印的頁眉頁腳為空
function?PageSetup_Null()
{
?try
?{
?????????var?Wsh=new?ActiveXObject("WScript.Shell");
??HKEY_Key="header";
??Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
??HKEY_Key="footer";
??Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
?}
?catch(e){}
}
//設置網頁打印的頁眉頁腳為默認值
function??PageSetup_Default()
{??
?try
?{
??var?Wsh=new?ActiveXObject("WScript.Shell");
??HKEY_Key="header";
??Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b頁碼,&p/&P");
??HKEY_Key="footer";
??Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");
?}
?catch(e){}
}
</script>
<input?type="button"?value="清空頁碼"?onclick=PageSetup_Null()>
<input?type="button"?value="恢復頁碼"?onclick=PageSetup_Default()>
//瀏覽器驗證
{?
???this.ver=navigator.appVersion?
???this.dom=document.getElementById?1:0?
???this.ie6=(this.ver.indexOf("MSIE?6")>-1?&&?this.dom)?1:0;?
???this.ie5=(this.ver.indexOf("MSIE?5")>-1?&&?this.dom)?1:0;?
???this.ie4=(document.all?&&?!this.dom)?1:0;?
???this.ns5=(this.dom?&&?parseInt(this.ver)?>=?5)??1:0;?
???this.ns4=(document.layers?&&?!this.dom)?1:0;?
???this.mac=(this.ver.indexOf('Mac')?>?-1)??1:0;?
???this.ope=(navigator.userAgent.indexOf('Opera')>-1);?
???this.ie=(this.ie6?||?this.ie5?||?this.ie4)?
???this.ns=(this.ns4?||?this.ns5)?
???this.bw=(this.ie6?||?this.ie5?||?this.ie4?||?this.ns5?||?this.ns4?||?this.mac?||?this.ope)?
???this.nbw=(!this.bw)?
???return?this;
}
//計算內容寬和高
?
?
function??test(obj)??
{??
???????var??range??=??obj.createTextRange();??
???????alert("內容區(qū)寬度:??"??+??range.boundingWidth????
?????????????????????????????????????????????????+??"px\r\n內容區(qū)高度:??"??+??range.boundingHeight??+??"px");??
?????????????
}??
</SCRIPT>??
<BODY>??
<Textarea?id="txt"?height="150">sdf</textarea><INPUT??type="button"??value="計算內容寬度"??onClick="test(txt)">??
</BODY>
//無模式的提示框
?
?
{
???window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;");
}
?
//屏蔽按鍵
?
<head>
??<meta?http-equiv="Content-Type"?content="text/html;?charset=gb2312">
??<noscript><meta?http-equiv="refresh"?content="0;url=about:noscript"></noscript>
??<title>屏蔽鼠標右鍵、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格鍵</title>
</head>
<body>
<script?language="Javascript"><!--
??//屏蔽鼠標右鍵、Ctrl+N、Shift+F10、F11、F5刷新、退格鍵
??//Author:?meizz(梅花雨)?2002-6-18
function?document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠標右鍵
function?window.onhelp(){return?false}?//屏蔽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");
??????return?false;
??}
}
</script>
屏蔽鼠標右鍵、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格鍵
</body>
</html>
posted on 2006-10-13 14:55 mlw2000 閱讀(510) 評論(0) 編輯 收藏 所屬分類: others