天天看點

javascript腳本的window操作

在網上找資料的時候發現了這個,自己也複制一份,友善以後再找這方面的資料能夠迅速點解決

熟練window對象的open、close、alert、confirm、prompt、setTimeout、clearTimeout、setInterval、clearInterval、moveBy、resizeBy、scrollBy方法的使用掌握window對象的moveTo、resizeTo、scrollTo、print方法的使用 熟練掌握window對象的status、location、name、self、opener屬性的使用  Window對象是用戶端javascript最高層對象之一,隻要打開浏覽器視窗,不管該視窗中是否有打開的網頁,當遇到BODY、FRAMESET或FRAME元素時,都會自動建立window對象的執行個體。另外,該對象的執行個體也可由window.open()方法建立。由于window對象是其它大部分對象的共同祖先,在調用window對象的方法和屬性時,可以省略window對象的引用。例如:window.document.write()可以簡寫成: document.write()。  在視窗中觖發本視窗對象的任何方法和屬性時可以省去視窗的執行個體名稱。例如給目前的myWin視窗設定status屬性時,可以隻用status而不用myWin.status。但是,在事件進行中調用location屬性、close()方法或open()方法時必須使用執行個體名稱。

6-2-1 window對象的方法

window對象有以下方法:

open

close

alert

confirm

prompt

setTimeout

clearTimeout

setInterval

clearInterval

moveBy

moveTo

resizeBy

resizeTo

scrollBy

scrollTo

find

back

forward

home

stop

print

blur

focus

captureEvent

enableExternalCapture

disableExternalCapture

handleEvent

releaseEvent

routeEvent

scroll

  1. open方法

  文法格式:

window.open(URL,視窗名稱,視窗風格)

  功能:打開一個新的視窗,并在視窗中裝載指定URL位址的網頁。

  說明:

open方法用于打開一個新的浏覽器視窗,并在新視窗中裝入一個指定的URL位址

open方法在打開一個新的浏覽器視窗時,還可以指定視窗的名稱(第二個參數);

open方法在打開一個新的浏覽器視窗時,還可以指定視窗的風格(第三個參數),

視窗風格有以下選項,這些選項可以多選,如果多選,各選項之間用逗号分隔:

toolbar:指定視窗是否有标準工具欄。當該選項的值為1或yes時,表示有标準

工具欄,當該選項的值為0或no時,表示沒有标準工具欄;

location:指定視窗是否有位址工具欄,選項的值及含義與toolbar相同;

directories:指定視窗是否有連結工具欄,選項的值及含義與toolbar相同;

status:指定視窗是否有狀态欄,選項的值及含義與toolbar相同;

menubar:指定視窗是否有菜單,選項的值及含義與toolbar相同;

scrollbar:指定目前視窗文檔大于視窗時是否有滾動條,選項的值及含義與

toolbar相同;

resizable:指定視窗是否可改變大小,選項的值及含義與toolbar相同;

width:以像素為機關指定視窗的寬度,已被innerWidth取代;

height:以像素為機關指定視窗的高度,已被innerHeight取代;

outerWidth:以像素為機關指定視窗的外部寬度;

outerHeight:以像素為機關指定視窗的外部高度;

left:以像素為機關指定視窗距螢幕左邊的位置;

top:以像素為機關指定視窗距螢幕頂端的位置;

alwaysLowered:指定視窗隐藏在所有視窗之後,選項的值及含義與toolbar相同

alwaysRaised:指定視窗浮在所有視窗之上,選項的值及含義與toolbar相同;

dependent:指定打開的視窗為目前視窗的一個子視窗,并随着父視窗的關閉而

關閉,選項的值及含義與toolbar相同;

hotkeys:在沒有菜單欄的新視窗中設定安全退出的熱鍵,選項的值及含義與

toolbar相同;

innerHeight:設定視窗中文檔的像素高度;

innerWidth:設定視窗中文檔的像素寬度;

screenX:設定視窗距離螢幕左邊界的像素長度;

screenY:設定視窗距離螢幕上邊界的像素長度;

titleBar:指明标題欄是否在新視窗中可見,選項的值及含義與toolbar相同;

z-look:指明當視窗被激活時,不能浮在其它視窗之上,選項的值及含義與

toolbar相同。

open方法傳回的是該視窗的引用。

小技巧:該方法經常用于在打開一個網頁時自動打開另一個視窗。

例6-2-1:編制一個小程式,它用于在打開目前視窗時自動打開另一個視窗,要

求該窗沒有标準工具欄、位址欄、連結工具欄、菜單欄,但有狀态欄,視窗中打

開的網頁位址為:http://www.dlrtvu.edu.cn。

2. close方法

文法格式:

window.close()

功能:close方法用于自動關閉浏覽器視窗。

3. alert方法

文法格式:

window.alert(提示字元串)

功能:彈出一個警告框,在警告框内顯示提示字元串文本。

4. confirm方法

文法格式:

window.confirm(提示字元串)

功能:顯示一個确認框,在确認框内顯示提示字元串,當使用者單擊“确定”按鈕

時該方法傳回true,單擊“取消”時傳回false。

5. prompt方法

文法格式:

window.prompt(提示字元串,預設文本)

功能:顯示一個輸入框,在輸入框内顯示提示字元串,在輸入文本框顯示預設文

本,并等待使用者輸入,當使用者單擊“确定”按鈕時,傳回使用者輸入的字元串,當

單擊“取消”按鈕時,傳回null值。

6. setTimeout方法

文法格式:

window.setTimeout(代碼字元表達式,毫秒數)

功能:定時設定,當到了指定的毫秒數後,自動執行代碼字元表達式。

7. clearTimeout方法

文法格式:

window.clearTimeout(定時器)

功能:取消以前的定時設定,其中的參數是用setTimeout設定時的傳回值。

8. setInterval方法

文法格式:

window.setInterval(代碼字元表達式,毫秒數)

功能:設定一個時間間隔後(第二個參數),反複執行“代碼字元表達式”的内容

9. clearInterval方法

文法格式:

window.clearInterval(時間間隔器)

功能:取消setInterval設定的定時。其中的參數是setInterval方法的傳回值。

10. moveBy方法

文法格式:

window.moveBy(水準位移量,垂直位移量)

功能:按照給定像素參數移動指定視窗。第一個參數是視窗水準移動的像素,第

二個參數是視窗垂直移動的像素。

11.moveTo方法

文法格式:

window.moveTo(x,y)

功能:将視窗移動到指定的指定坐标(x,y)處。

12. resizeBy方法

文法格式:

window.resizeBy(水準,垂直)

功能:将目前視窗改變指定的大小(x,y),當x、y的值大于0時為擴大,小于0時

為縮小。

13. resizeTo方法

文法格式:

window.resizeTo(水準寬度,垂直寬度)

功能:将目前視窗改變成(x,y)大小,x、y分别為寬度和高度。

14. scrollBy方法

文法格式:

window.scrollBy(水準位移量,垂直位移量)

功能:将視窗中的内容按給定的位移量滾動。參數為正數時,正向滾動,否則反

向滾動。

15. scrollTo方法

文法格式:

window.scrollTo(x,y)

功能:将視窗中的内容滾動到指定位置。

16.find方法

文法格式:

window.find()

功能:當觸發該方法時,将彈出一個“find”(查找)對話視窗,并允許使用者在觸

發find方法的頁面中查找一個字元串。

注:該屬性在IE5.5及Netscape6.0中都不支援。

17. back方法

文法格式:

window.back()

功能:模拟使用者點選浏覽器上的“後退”按鈕,将頁面轉到浏覽器的上一頁。

說明:僅當目前頁面存在上一頁時才能進行該操作。

注:IE5.5不支援該方法,Netscape6.0支援。

18. forward方法

文法格式:

window.forward()

功能:模拟使用者點選浏覽器上的“前進”按鈕,将頁面轉到浏覽器的下一頁。

說明:僅當目前頁面存在下一頁時才能進行該操作。

注:IE5.5不支援該方法,Netscape6.0支援。

19. home方法

文法格式:

window.home()

功能:模拟使用者點選浏覽器上的“首頁”按鈕,将頁面轉到指定的頁面上。

注:IE5.5不支援該方法,Netscape6.0支援。

20. stop方法

文法格式:

window.stop()

功能:模拟使用者點選浏覽器上的“停止”按鈕,終止浏覽器的下載下傳操作。

注:IE5.5不支援該方法,Netscape6.0支援。

21. print方法

文法格式:

window.print()

功能:模拟使用者點選浏覽器上的“列印”按鈕,通知浏覽器打開列印對話框列印

目前頁。

22. blur方法

文法格式:

window.blur()

功能:從視窗中移出焦點。當與focus方法合用時必須小心,因為可能導緻焦點

不斷移進移出。

23. focus方法

文法格式:

window.focus()

功能:使視窗中得到焦點。當與blur方法合用時必須小心,因為可能導緻焦點不

斷移進移出。

24. captureEvent方法

文法格式:

window.captureEvent(Event)

window.captureEvent(事件1|事件2|...|事件n)

功能:捕捉指定參數的所有事件。由于能夠捕獲哪些由本地程式自己處理的事件

,是以程式員可以随意定義函數來處理事件。如果有多個事件需要捕捉,各事件

之間用管道符“|”隔開。可捕捉的事件類型如下:

Event.ABORT

Event.BLUR

Event.CHANGE

Event.CLICK

Event.DBLCLICK

Event.DRAGDROP

Event.ERROR

Event.FOCUS

Event.KEYDOWN

Event.KEYPRESS

Event.KEYUP

Event.LOAD

Event.MOUSEDOWN

Event.MOUSUEMOVE

Event.MOUSEOUT

Event.MOUSEOVER

Event.MOUSEUP

Event.MOVE

Event.RESET

Event.RESIZE

Event.SELECT

Event.SUBMIT

Event.UNLOAD

25. enableExternalCapture事件

文法格式:

window.enableExternalCapture(event)

功能:enableExternalCapture方法用于捕捉通過參數傳入的外部事件。

26. disableExternalCapture事件

文法格式:

window.disableExternalCapture()

功能:取消enableExternalCapture方法的設定,終止對外部事件的捕捉。

27. handleEvent事件

文法格式:

window.handleEvent(event)

功能:觸發指定事件的事件處理器。

28. releaseEvent事件

文法格式:

window.releaseEvent(event)

window.releaseEvent(事件1|事件2|...|事件n)

功能:釋放通過參數傳入的已被捕捉的事件,這些事件是由

window.captureEvent方法設定的,可釋放的事件與captureEvent相同。

29. routeEvent事件

文法格式:

window.releaseEvent(event)

功能:把被捕捉類型的所有事件轉交給标準事件處理方法進行處理,可轉交的事

件與captureEvent相同。

30 scroll事件

文法格式:

window.scroll(X坐标,Y坐标)

功能:将視窗移動到指定的坐标位置。

6-2-2 window對象的屬性

window對象具有如下屬性:

status

statusbar

statusbar.visible

defaultstatus

location

locationbar

locationbar.visible

self

name

closed

frames

frames.length

length

document

history

innerHeight

innerWidth

menubar

menubar.visible

opener

outerHeight

outerWidth

pageXOffset

pageYOffset

parent

personalbar

personalbar.visible

scrollbar

scrollbar.visible

toolbar

toolbar.visible

top

1. status屬性

文法格式:

window.status=字元串

功能:設定或給出浏覽器視窗中狀态欄的目前顯示資訊。

小技巧:可以使用該屬性設定浏覽器視窗狀态欄資訊。

2. statusbar屬性

文法格式:

window.statusbar.屬性

功能:statusbar屬性本身也是一個對象,用于通路它自已的visible屬性進而确

定狀态欄是否可見。

注:IE5.5浏覽器不支援該屬性。

3. statusbar.visible屬性

文法格式:

window.statusbar.visible

功能:檢查狀态欄是否可見,如果可見則傳回true,反之傳回false。

注:IE5.5浏覽器不支援該屬性。

4. defaultstatus屬性

文法格式:

window.defaultstatus[=字元串]

功能:defaultstatus屬性值是浏覽器窗中狀态欄的預設顯示資訊。

5.location屬性

文法格式:

window.location=URL

功能:給出目前視窗的URL資訊或指定打開視窗的URL。

6. locationbar屬性

文法格式:

window.locationbar.屬性

功能:locationbar屬性也可以看成是一個子對象,這個屬性用來擷取它自已的

visible屬性來确定位置欄是否可見。

到目前為止,該屬性隻有一個子屬性:visible。

注:IE5.5不支援該屬性。

7. locationbar.visible屬性

文法格式:

window.locationbar.visible

功能:傳回位置欄是否可見,如果可見傳回true,反之傳回false。

注:IE5.5不支援該屬性。

8. self屬性

文法格式:

window.self.方法

window.self.屬性

功能:該屬性包含目前視窗的标志,利用這個屬性,可以保證在多個視窗被打開

的情況下,正确調用目前視窗内的函數或屬性而不會發生混亂。

9. name屬性

文法格式:

window.name=名稱

功能:傳回視窗名稱,這個名稱是由window.open()方法建立新視窗時給定的。

在javascript1.0版本中,這個屬性隻能用于讀取視窗名稱,而到了

javascript1.1版本時,可以用這個屬性給一個不是用window.open()方法建立的

視窗指定一個名稱。

10. closed屬性

文法格式:

window.closed

功能:closed屬性用于傳回指定視窗的執行個體是否已經關閉,如果關閉,傳回true

,反之傳回flase。

11. frames屬性

文法格式:

window.frames["架構名稱"]

window.frames[數值]

功能:frames屬性是一個數組,用來存儲文檔中每一個由元素建立的子視窗(框

架)執行個體,其中的下标即可以是次序号也可以是用FRAME元素的NAME屬性指定的名

稱來得到并使用。

12. frames.length屬性

文法格式:

window.frames.length

功能:frames.length屬性用于給出文檔中子視窗(架構)執行個體的個數。

13. length屬性

文法格式:

window.length

功能:length屬性傳回一個視窗内的子視窗數目,該屬性與

window.frame.length屬性的值相同。

14. document屬性

文法格式:

window.document.事件

window.document.方法

window.document.屬性

功能:window對象的子對象document是javascript的核心對象,在腳本中遇到

BODY元素時建立一個執行個體。

15. history屬性

文法格式:

window.history[數值]

window.history.方法()

window.history.屬性

window對象的子對象history是javascript的核心對象之一,該屬性包含了一個

已通路過頁面的名稱和URL的數組。

16. innerHeight屬性

文法格式:

window.innerHeight=數值

功能:傳回或指定浏覽器視窗中文檔的像素高度,這個高度不包括任何工具欄和

組成視窗的頁面修飾高度。

注:IE5.5不支援該屬性。

17. innerWidth屬性

文法格式:

window.innerHeight=數值

功能:傳回或指定浏覽器視窗中文檔的像素寬度,這個寬度不包括任何工具欄和

組成視窗的頁面修飾寬度。

注:IE5.5不支援該屬性。

18. menubar屬性

文法格式:

window.menubar.屬性

功能:menubar屬性也可以看成是一個子對象,這個屬性用來擷取它自已的

visible屬性來确定菜單欄是否可見。

到目前為止,該屬性隻有一個子屬性:visible。

注:IE5.5不支援該屬性。

19. menubar.visible屬性

文法格式:

window.menubar.visible

功能:menubar.visible屬性用于傳回菜單欄是否可見,如果可見傳回true,反

之傳回false。

注:IE5.5不支援該屬性。

20. opener屬性

文法格式:

window.opener

window.opener.方法

window.opener.屬性

功能:opener屬性與打開該視窗的父視窗相聯系,當通路子視窗中operer屬性時

,傳回的是父視窗。通過該屬性,可以使用父視窗對象中的方法和屬性。

21. outerHeight屬性

文法格式:

window.outerHeight

功能:outerHeight屬性用于通路浏覽器視窗的像素高度,該高度包括工具欄和

裝飾邊的高度。

注:IE5.5不支援該屬性。

22. outerWidth屬性

文法格式:

window.outerWidth

功能:outerWidth屬性用于通路浏覽器視窗的像素寬度,該寬度包括工具欄和裝

飾邊的寬度。

注:IE5.5不支援該屬性。

23. pageXOffset屬性

文法格式:

window.pageXOffset=數值

功能:指定浏覽器視窗中文檔左上角在視窗中的目前水準像素位置。在利用

moveTo移動之前,可以通過該屬性來決定是否需要移動視窗。因為該屬性傳回了

可見文檔相對整個頁面的目前位置。

注:IE5.5不支援該屬性。

24. pageYOffset屬性

文法格式:

window.pageYOffset=數值

功能:指定浏覽器視窗中文檔左上角在視窗中的目前垂直像素位置。在利用

moveTo移動之前,可以通過該屬性來決定是否需要移動視窗。因為該屬性傳回了

可見文檔相對整個頁面的目前位置。

注:IE5.5不支援該屬性。

25. parent屬性

文法格式:

window.parent.frames[數值]

window.parent.framesName

功能:通路各個子視窗(多架構)所在的父視窗。

26. personalbar屬性

文法格式:

window.personalbar.屬性

功能:personalbar屬性本身也是一個對象,用于通路其自身的visible屬性來确

定個人欄是否可見。

注:IE5.5不支援該屬性。

27. personalbar.visible屬性

文法格式:

window.personalbar.visible

功能:确定個人欄是否可見,如果可見則傳回true,反之傳回false。

注:IE5.5不支援該屬性。

28. scrollbars屬性

文法格式:

window.scrollbars.屬性

功能:scrollbars屬性本身也是一個對象,用于通路其自身的visible屬性來确

定卷軸框是否可見。

注:IE5.5不支援該屬性。

29. scrollbars.visible屬性

文法格式:

window.scrollbars.visible

功能:scrollbars.visible用于确定卷軸框是否可見,如果可見則傳回true,反

之傳回false。

注:IE5.5不支援該屬性。

30. toolbar屬性

文法格式:

window.toolbar.屬性

功能:toolbar屬性本身也是一個對象,用于通路它自已的visible屬性進而确定

工具欄是否可見。

注:IE5.5不支援該屬性。

31. toolbar.visible屬性

文法格式:

window.toolbar.visible

功能:toolbar.visible屬性用于檢查工具欄是否可見,如果可見則傳回true,

反之傳回false。

注:IE5.5不支援該屬性。

32. top屬性

文法格式:

window.top.frames[數值]

window.top.frameName

window.top.方法()

window.top.屬性

功能:window對象的top屬性用于包含所有裝入浏覽器的子視窗(多架構)的最頂

ifrema自适高度

function SetWinHeight(obj) {

  var win=obj;

  if (document.getElementById){

   if (win && !window.opera){

    if (win.contentDocument && win.contentDocument.body.offsetHeight) {

     win.height = win.contentDocument.body.offsetHeight;

    } else if(win.Document && win.Document.body.scrollHeight) {

     win.height = win.Document.body.scrollHeight;

    }

   }

  }

 }

 <iframe src="xxxxxxx" width="100%" name="mainFrame" marginwidth="0" scrolling="no" marginheight="0" frame  id="mainFrame" οnlοad="Javascript:SetWinHeight(this)" >

繼續閱讀