【1、普通的彈出視窗】
其實程式碼非常簡單:
<SCRIPT LANGUAGE=javascript>
<!--
window.open ('page.html')
-->
</SCRIPT>
因為這是一段javascripts程式碼,所以它們應該放在<SCRIPT LANGUAGE=javascript>標籤和</script>之間。 <!-- 和-->是對某些版本低的瀏覽器起作用,在這些舊瀏覽器中不會將標籤中的程式碼顯示為文字。要養成這個好習慣。
window.open ('page.html') 用來控制彈出新的視窗page.html,如果page.html不與主視窗在同一路徑下,前面應寫明路徑,絕對路徑([url]http:// )[/url]和相對路徑(../)均可。
用單引號和雙引號都可以,但不要混用。
這一段程式碼可以加入HTML的任意位置,<head>和</head>之間可以,<body>間</body>也可以,越前越早執行,尤其是頁面程式碼長,又想讓頁面早點彈出就盡量往前放。
【2、經過設定後的彈出視窗】
下面再說一說彈出視窗的設定。只要再往上面的程式碼加一點東西就可以了。我們來定制這個彈出的視窗的外觀,尺寸大小,彈出的位置以適應該頁面的具體情況。
<SCRIPT LANGUAGE=javascript>
<!--
window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no , status=no')
//寫成一行
-->
</SCRIPT>
參數解釋:
<SCRIPT LANGUAGE=javascript> js腳本開始;
window.open 彈出新視窗的指令;
'page.html' 彈出視窗的檔案名稱;
'newwindow' 彈出視窗的名字(不是檔案名稱),非必須,可用空''代替;
height=100 視窗高度;
width=400 視窗寬度;
top=0 視窗距離螢幕上方的像素值;
left=0 視窗距離螢幕左側的像素值;
toolbar=no 是否顯示工具列,yes為顯示;
menubar,scrollbars 表示選單列和滾動欄。
resizable=no 是否允許改變視窗大小,以yes為允許;
location=no 是否顯示網址列,以yes為允許;
status=no 是否顯示狀態列內的資訊(通常是檔案已開啟),以yes為允許;
</SCRIPT> js腳本結束
【3、用函數控制彈出視窗】
下面是一個完整的程式碼。
<html>
<head>
<script LANGUAGE=javascript>
<!--
function openwin() {
window.open (page.html, newwindow, height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no)
//寫成一行
}
//-->
</script>
</head>
<body onload=openwin()>
..任意的頁面內容...
</body>
</html>
這裡定義了一個函數openwin(),函數內容就是開啟一個視窗。在調用它之前沒有任何用途。
怎麼調用呢?
方法一:<body onload=openwin()> 瀏覽器讀取頁面時彈出視窗;
方法二:<body onunload=openwin()> 瀏覽器離開頁面時彈出視窗;
方法三:用一個連接呼叫:
<a href=注意:使用的“ 方法四:用一個按鈕呼叫:
<input type=button onclick=openwin() value=開啟視窗>
【4、同時彈出2個視窗】
對原始碼稍微改動一下:
<script LANGUAGE=javascript>
<!--
function openwin() {
window.open (page.html, newwindow, height=100, width=100, top=0, left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no)
//寫成一行
window.open (page2.html, newwindow2, height=100, width=100, top=100, left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no)
//寫成一行
}
//-->
</script>
為避免彈出的2個視窗覆蓋,請用top和left控制一下彈出的位置不要互相覆蓋即可。最後用上面說的四種方法呼叫即可。
注意:2個視窗的name(newwindows和newwindow2)不要相同,或乾脆全部為空。 OK?
【5.主視窗開啟檔案1.htm,同時彈出小視窗page.html】
如下程式碼加入主視窗<head>區:
<script language=javascript>
<!--
function openwin() {
window.open(page.html,,width=200,height=200)
}
//-->
</script>
加入<body>區:
<a href=1.htm onclick=openwin()>open</a>即可。
【6、彈出的視窗之定時關閉控制】
下面我們再對彈出的視窗進行一些控制,效果就更好了。如果我們再將一小段程式碼加入彈出的頁面(注意是加入到page.html的HTML中,可不是主頁面中,否則...),讓它10秒後自動關閉是不是更酷了?
首先,將以下程式碼加入page.html檔案的<head>區:
<script language=javascript>
function closeit() {
setTimeout(self.close(),10000) //毫秒
}
</script>
然後,再用<body onload=closeit()> 這句話代替page.html中原有的<BODY>這句話就可以了。 (這句話千萬不要忘記寫啊!這一句的作用是呼叫關閉視窗的程式碼,10秒鐘後就自行關閉該視窗。)
【7、在彈出視窗中加上一個關閉按鈕】
<FORM>
<INPUT TYPE='BUTTON' value='關閉' onClick='window.close()'>
</FORM>
呵呵,現在更加完美了!
【8、內包含的彈出窗口-一個頁面兩個窗口】
上面的例子都包含兩個窗口,一個是主窗口,另一個是彈出的小窗口。
透過下面的例子,你可以在一個頁面內完成上面的效果。
<html>
<head>
<SCRIPT LANGUAGE=javascript>
function openwin()
{
OpenWindow=window.open(, newwin, height=250, width=250,toolbar=no,scrollbars=+scroll+,menubar=no);
//寫成一行
OpenWindow.document.write(<TITLE>範例</TITLE>)
OpenWindow.document.write(<BODY BGCOLOR=OpenWindow.document.write(<h1>Hello!</h1>)
OpenWindow.document.write(New window opened!)
OpenWindow.document.write(</BODY>)
OpenWindow.document.write(</HTML>)
OpenWindow.document.close()
}
</SCRIPT>
</head>
<body>
<a href=<input type=button onclick=openwin() value=開啟視窗>
</body>
</html>
看看OpenWindow.document.write()裡面的程式碼不就是標準的HTML嗎?只要按照格式寫更多的行即可。千萬注意多一個標籤或少一個標籤就會出現錯誤。記得用OpenWindow.document.close()結束啊。
【9、終極應用--彈出的窗口之Cookie控制】
回想一下,上面的彈出窗口雖然酷,但是有一點小毛病(沉浸在喜悅之中,一定沒有發現吧?)比如你將上面的腳本放在一個需要頻繁經過的頁面裡(例如首頁),那麼每次刷新這個頁面,視窗都會彈出一次,是不是非常煩人? :-(
有解決的辦法嗎? Yes! ;-) Follow me.
我們使用cookie來控制一下就可以了。
首先,將以下程式碼加入主頁面HTML的<HEAD>區:
<script>
function openwin(){
window.open(page.html,,width=200,height=200)
}
function get_cookie(Name) {
var search = Name + =
var returnvalue = ;
if (documents.cookie.length > 0) {
offset = documents.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = documents.cookie.indexOf(;, offset);
if (end == -1)
end = documents.cookie.length;
returnvalue=unescape(documents.cookie.substring(offset, end))
}
}
return returnvalue;
}
function loadpopup(){
if (get_cookie('popped')==''){
openwin()
documents.cookie=popped=yes
}
}
</script>
然後,用<body onload=loadpopup()>(注意不是openwin而是loadpop啊!)替換主頁中原有的<BODY>這句話即可。你可以試著刷新這個頁面或重新進入該頁面,視窗再也不會彈出了。真正的Pop-Only-Once!
寫到這裡彈出視窗的製作和應用技巧基本上算是完成了,俺也累壞了,一口氣說了這麼多,希望對正在製作網頁的朋友有所幫助俺就非常欣慰了。
需要注意的是,JS腳本中的大小寫最好前後保持一致。
1.彈啟一個全螢幕視窗
<html>
<body onload=window.open('http://www.pconline.com.cn','example01','fullscreen');>;
<b>[url]www.e3i5.com[/url]</b>
</body>
</html>
2.彈啟一個F11化後的視窗
<html>
<body onload=window.open(''http://www.pconline.com.cn','example02','channelmode');>;
<b>[url]www.e3i5.com[/url]</b>
</body>
</html>
3.彈啟一個有收藏連結工具列的視窗
<html>
<body onload=window.open('http://www.pconline.com.cn','example03','width=400,height=300,directories');>
<b>[url]www.e3i5.com[/url]</b>
</body>
</html>
4.網頁對話框
<html>
<SCRIPT LANGUAGE=javascript>
<!--
showModalDialog('http://www.pconline.com.cn','example04','dialogWidth:400px;dialogHeight:300px;
dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes')
//-->
</SCRIPT>
<b>[url]www.e3i5.com[/url]</b>
</body>
</html>
<html>
<SCRIPT LANGUAGE=javascript>
<!--
showModelessDialog('http://www.pconline.com.cn','example05','dialogWidth:400px;dialogHeight:300px;
dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes')
//-->
</SCRIPT>
<b> target=_blank>[url]http://www.pconline.com.cn[/url]</b>
</body>
</html>
showModalDialog()或showModelessDialog() 呼叫網頁對話框,至於showModalDialog()與showModelessDialog()的差別,在於showModalDialog()開啟的視窗(簡稱模式視窗),必須置在父視窗上,必須關閉才能存取父視窗(建議盡量少用,以免招人反感);showModelessDialog()(簡稱無模式視窗),開啟後不必關閉也可存取父視窗開啟的視窗。
dialogHeight: iHeight 設定對話方塊視窗的高度。
dialogWidth: iWidth 設定對話框視窗的寬度。
dialogLeft: iXPos 設定對話方塊視窗相對於桌面左上角的left位置。
dialogTop: iYPos 設定對話方塊視窗相對於桌面左上角的top位置。
center: {yes | no | 1 | 0 } 指定是否將對話方塊在桌面上居中,預設值是「yes」。
help: {yes | no | 1 | 0 } 指定對話方塊視窗中是否顯示上下文敏感的幫助圖示。預設值是“yes”。
resizable: {yes | no | 1 | 0 } 指定是否對話方塊視窗大小可變。預設值是“no”。
status: {yes | no | 1 | 0 } 指定對話方塊視窗是否顯示狀態列。對於非模式對話框窗口,預設值是“yes”;對於模式對話框窗口,預設值是“no”。
網頁經典程式碼
1. 將徹底屏蔽滑鼠右鍵,無右鍵選單
<body oncontextmenu=window.event.returnvalue=false>
也可以用於網頁中Table框架中
<table border oncontextmenu=return(false)><td>no</table>
2.取消選取、防止複製
<body onselectstart=return false>
3.不准貼上
<body onpaste=return false>
4.防止複製
<body oncopy=return false; oncut=return false;>
5.IE網址列前換成自己的圖標
<link rel=Shortcut Icon href=favicon.ico>
說明:關於favicon.ico檔案的製作。你可以先在FW中做一個圖片,屬於你自己網站一個小圖示。然後在ACD see將檔案屬性改為*.ico,然後將你所做的*.ICO檔案傳到你的伺服器目錄中,然後就可以使用以上程式碼來實現,當別人登陸你的網站時,網址列裡使用的就是你自訂的圖示了。
6.可以在收藏夾中顯示出你的圖標
<link rel=Bookmark href=favicon.ico>
說明:製作方法和上面的一樣。只是顯示的方式不同,這個是在別人收藏你的網頁地址時顯示的個性圖示。
7.關閉輸入法
<input style=ime-mode:disabled>
說明:這段程式碼是在表格提交時用到的。也就是輸入資料時不可以使用其他輸入法模式。
8.永遠都會帶著框架
<script language=javascript><!--
if (window == top)top.location.href = frames.htm;// --></script>
說明:frames.htm為你的網頁,這也是保護頁面的一種方法
9.防止被人frame
<SCRIPT LANGUAGE=javascript><!--
if (top.location != self.location)top.location=self.location;
// --></SCRIPT>
10.網頁將不能被另存為
<noscript><iframe src=*.html></iframe></noscript>
說明:<noscirpt>的用法很廣,其中一條就是可以使JS廣告失效。
11.查原始碼文件
<input type=button value=查看網頁原始碼
onclick=window.location = 'view-source:'+ target=_blank>[url]http://bbs.055.cn/test.htm[/url]';>
12.COOKIE腳本記錄,有很大的用處哦
function get_cookie(Name) {
var search = Name + =
var returnvalue = ;
if (documents.cookie.length > 0) {
offset = documents.cookie.indexOf(search)
if (offset != -1) { // if cookie exists
offset += search. length
// set index of beginning of value
end = documents.cookie.indexOf(;, offset);
// set index of end of cookie value
if (end == -1)
end = documents.cookie.length;
returnvalue=unescapescape (documents.cookie.substring(offset, end))
}
}
return returnvalue;
}
function loadpopup(){
if (get_cookie('popped')==''){
openpopup()
documents.cookie=popped=yes
}
}
說明:以上是JS程式碼,請自行加起始符和結束符
13.內框架<IFRAME>使用
Iframe標記的使用格式是:
<iframe src=URL width=x height=x scrolling=[OPTION] frameborder=x
name=main></iframe>
src:文件的路徑,既可是HTML文件,也可以是文字、ASP等
width、height:內部框架區域的寬與高;
scrolling:當SRC的指定的HTML檔案在指定的區域不顯不完時,滾動選項,如果設定為NO,則不出現捲軸;如為Auto:則自動出現捲軸;如為Yes,則顯示; FrameBorder:區域邊框的寬度,為了讓「內部框架「與鄰近的內容融合,常設定為0。
name:框架的名字,用來識別。
例如: 當你想用父框架控制內部框架時,可以使用: target=框架的名字來控制。
例:<iframe name=mm src=http://bbs.055.cn;; width=100% height=100% marginwidth=0 marginheight= ... ot; frameborder=0 scrolling=no></iframe> 14ight= ... ot; frameborder=0 scrolling=no></iframe> 14ight= ... ot; frameborder=0 scrolling=no></iframe> 14ight= ... ot; frameborder=0 scrolling=no></iframe> 14ight= ... ot; frameborder=0 scrolling=no></iframe> 14ight= ... ot; frameborder=0 scrolling=no></iframe>
14ight
= .....自動跳轉在原始碼中的<head>…</head>加入如下程式碼:
<meta http-equiv=refreshcontent=3;URL=http://bbs.055.cn; charset=gb2312>
說明:content=3 表示3秒刷新到URL
15.如何改變連結的滑鼠形狀只需在連結上加上這一程式碼就行的了或跟上面的用CSS寫也行
style=cursor:hand style=cursor:crosshair
style=cursor:text style=cursor:wait
style=cursor:move style=cursor:help
style=cursor:e-resize
style=cursor:n-resize
style=cursor:nw-resize style=cursor:w-resize
style=cursor:s-resize
style=cursor:se-resize
style=cursor:sw-resize
以上程式碼你只要加到連接或是頁面的style區就可以實現滑鼠多樣化。
16.全螢幕顯示
<form>
<div align=center>
<input type=BUTTON name=FullScreen value=全螢幕顯示onClick=window.open(document.location, 'big', 'fullscreen=yes')>
</div>
</form>
把它放到<body>區。
17.設為首頁
<script language=javascript>
<!--
function defaul_home(){
this.home.style.behavior='url(#default#homepage)';this.home.setHomePage([url]http://bbs.055.cn/[/url]';
}
var focusok=false;
if (navigator.appName == Netscape{
focusok=真;
}
vers=navigator.appVersion;
if (navigator.appName == Microsoft Internet Explorer{
pos=vers.lastIndexOf('.');
vers=vers.substring(pos-1,vers.length);
}
proper_version=parseFloat(vers);
if(proper_version>=5){
focusok=真;
}
function launchstock1(htmlurl){
var stock=window.open(htmlurl,stock,top=2,left=2,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,
resizable=no,width=700,height=510;
if(focusok){
stock.focus();
}
return true;
}
function launchstock(){
var stock=window.open(,stock,top=2,left=2,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,
resizable=no,width=700, height=510;
if(focusok){
stock.focus();
}
return true;
}
// -->
</script>
<a href=# name=home onClick=defaul_home(); title===E世代時光==>設為首頁</a>
18.這裡是加入收藏夾的程式碼
<a href=# onClick=window.external.addFavorite([url]http://bbs.055.cn[/url]';.'拂曉雅閣') target=_self title =拂曉雅閣>加入收藏</a>
19.flash圖片效果以下程式碼加入<head>區域
<SCRIPT language=javascript>
<!--
function makevisible(cur,which){
if (which==0)
cur.filters.alpha.opacity=100
else
cur.filters.alpha.opacity=20
}
//-->
</SCRIPT>
以下程式碼加入<body>區域
<img src=/u/info_img/2009-06/08/logo.gif;; style=filte ... nbsp;onMouseOver=makevisible(this,0) onMouseOut=makevisible(this,1) width=63 height=56 > //圖片地址請自己改
20.load 進度條
<table cellspacing=0 cellpadding=0 bgcolor=#FFFFFF width=40% id=P><tr><td>
<table cellspacing=0 cellpadding=0 bgcolor=#0000FF height=18 id=Q><tr><td></td></tr></table></td></tr></table>
</center>
<script language=javascript>
var R = 0; load();
function load() {R = R + 2; Q.style.width = R + %; time= setTimeout(load(),50);
if (R > 100) {clearTimeout(time); P.style.width=0}}
</script>
27 全螢幕
<script language=javascript>
window.open('index.asp','','fullscreen=1');
</script>
21.背景圖片滾動
<body scroll=no background=images/bg.jpg link=#00FF00 alink=#FF0000 vlink=#00FF00 bgcolor=#000080 topmargin=8>
<script language=javascript>
var backgroundOffset = 0;
var bgObject = eval('document.body');
function scrollBG(maxSize) {backgroundOffset = backgroundOffset + 1;
if (backgroundOffset > maxSize) backgroundOffset = 0;
bgObject.style.backgroundPosition = 0 + backgroundOffset;}
var ScrollTimer = window.setInterval(scrollBG(410), 20)
</script>
22.網頁不會被快取
HTMl網頁
<META HTTP-EQUIV=pragma CONTENT=no-cache>
<META HTTP-EQUIV=Cache-Control CONTENT=no-cache, must-revalidate>
<META HTTP-EQUIV=expires CONTENT=Wed, 26 Feb 1997 08:21:57 GMT>
或<META HTTP-EQUIV=expires CONTENT=0>
ASP網頁Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.cachecontrol = no-cache
PHP網頁
header(Expires: Mon, 26 Jul 1997 05:00:00 GMT;
header(Cache-Control: no-cache, must-revalidate;
header(Pragma: no-cache;
23.
<%
'定義資料庫連線的一些常數
Const adOpenForwardOnly = 0 '遊標只向前瀏覽記錄,不支援分頁、Recordset、BookMark
Const adOpenKeyset = 1 '鍵集遊標,其他使用者對記錄說做的修改將反映到記錄集中,但其他使用者增加或刪除記錄不會反映到記錄集中。支援分頁、Recordset、BookMark
Const adOpenDynamic = 2 '動態遊標功能最強,但耗資源也最多。使用者對記錄說做的修改,增加或刪除記錄都會反映到記錄集中。支援全功能瀏覽(ACCESS不支援)。
Const adOpenStatic = 3 '靜態遊標,只是資料的一個快照,使用者對記錄說做的修改,增加或刪除記錄都不會反映到記錄集中。支援向前或向後移動
Const adLockReadOnly = 1 '鎖定類型,預設的,唯讀,不能作任何修改
Const adLockPessimistic = 2 '編輯時立即鎖定記錄,最安全的方式
Const adLockOptimistic = 3 '只有在呼叫Update方法時才鎖定記錄集,而在先前的其他操作仍可對目前記錄進行變更、插入和刪除等
Const adLockBatchOptimistic = 4 '當編輯時記錄不會被鎖定,而更改、插入和刪除是在批次處理方式下完成的
Const adCmdText = &H0001
Const adCmdTable = &H0002
%>
24.最小化、最大化、關閉窗口
<object id=hh1 classid=clsidDB880A6-D8FF-11CF-9377-00AA003B7A11>
<param name=Command value=Minimize></object>
<object id=hh2 classid=clsidDB880A6-D8FF-11CF-9377-00AA003B7A11>
<param name=Command value=Maximize></object>
<OBJECT id=hh3 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11>
<PARAM NAME=Command value=Close></OBJECT>
<input type=button value=最小化onclick=hh1.Click()>
<input type=button value=最大化onclick=hh2.Click()>
<input type=button value=關閉onclick=hh3.Click()>
說明:本範例適用於IE
25.判斷上一頁的來源
asp頁:
request.servervariables(HTTP_REFERER
java script:
document.referrer
26.遊標是停在文字方塊文字的最後
<script language=javascript>
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()>
說明:適用於表格資料提交