夢(mèng)想飛翔

          自強(qiáng)不息
          posts - 111, comments - 30, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          JavaScript 之Window對(duì)象

          Posted on 2007-08-07 13:08 love1563 閱讀(1137) 評(píng)論(0)  編輯  收藏 所屬分類: JSP/Servlets/JSF

          window對(duì)象有以下方法:??

          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方法??
            語(yǔ)法格式:??

          window.open(URL,窗口名稱,窗口風(fēng)格)??
            功能:打開一個(gè)新的窗口,并在窗口中裝載指定URL地址的網(wǎng)頁(yè)。??

            說(shuō)明:??

          open方法用于打開一個(gè)新的瀏覽器窗口,并在新窗口中裝入一個(gè)指定的URL地址??

          ;???
          open方法在打開一個(gè)新的瀏覽器窗口時(shí),還可以指定窗口的名稱(第二個(gè)參數(shù));???
          open方法在打開一個(gè)新的瀏覽器窗口時(shí),還可以指定窗口的風(fēng)格(第三個(gè)參數(shù)),??

          窗口風(fēng)格有以下選項(xiàng),這些選項(xiàng)可以多選,如果多選,各選項(xiàng)之間用逗號(hào)分隔:???
          toolbar:指定窗口是否有標(biāo)準(zhǔn)工具欄。當(dāng)該選項(xiàng)的值為1或yes時(shí),表示有標(biāo)準(zhǔn)??

          工具欄,當(dāng)該選項(xiàng)的值為0或no時(shí),表示沒有標(biāo)準(zhǔn)工具欄;???
          location:指定窗口是否有地址工具欄,選項(xiàng)的值及含義與toolbar相同;???
          directories:指定窗口是否有鏈接工具欄,選項(xiàng)的值及含義與toolbar相同;???
          status:指定窗口是否有狀態(tài)欄,選項(xiàng)的值及含義與toolbar相同;???
          menubar:指定窗口是否有菜單,選項(xiàng)的值及含義與toolbar相同;???
          scrollbar:指定當(dāng)前窗口文檔大于窗口時(shí)是否有滾動(dòng)條,選項(xiàng)的值及含義與??

          toolbar相同;???
          resizable:指定窗口是否可改變大小,選項(xiàng)的值及含義與toolbar相同;???
          width:以像素為單位指定窗口的寬度,已被innerWidth取代;???
          height:以像素為單位指定窗口的高度,已被innerHeight取代;???
          outerWidth:以像素為單位指定窗口的外部寬度;???
          outerHeight:以像素為單位指定窗口的外部高度;???
          left:以像素為單位指定窗口距屏幕左邊的位置;???
          top:以像素為單位指定窗口距屏幕頂端的位置;???
          alwaysLowered:指定窗口隱藏在所有窗口之后,選項(xiàng)的值及含義與toolbar相同??

          ;???
          alwaysRaised:指定窗口浮在所有窗口之上,選項(xiàng)的值及含義與toolbar相同;???
          dependent:指定打開的窗口為當(dāng)前窗口的一個(gè)子窗口,并隨著父窗口的關(guān)閉而??

          關(guān)閉,選項(xiàng)的值及含義與toolbar相同;???

          hotkeys:在沒有菜單欄的新窗口中設(shè)置安全退出的熱鍵,選項(xiàng)的值及含義與??

          toolbar相同;???

          innerHeight:設(shè)定窗口中文檔的像素高度;???

          innerWidth:設(shè)定窗口中文檔的像素寬度;???

          screenX:設(shè)定窗口距離屏幕左邊界的像素長(zhǎng)度;???

          screenY:設(shè)定窗口距離屏幕上邊界的像素長(zhǎng)度;???

          titleBar:指明標(biāo)題欄是否在新窗口中可見,選項(xiàng)的值及含義與toolbar相同;???

          z-look:指明當(dāng)窗口被激活時(shí),不能浮在其它窗口之上,選項(xiàng)的值及含義與??

          toolbar相同。???

          open方法返回的是該窗口的引用。???

          小技巧:該方法經(jīng)常用于在打開一個(gè)網(wǎng)頁(yè)時(shí)自動(dòng)打開另一個(gè)窗口。??

          例6-2-1:編制一個(gè)小程序,它用于在打開當(dāng)前窗口時(shí)自動(dòng)打開另一個(gè)窗口,要??

          求該窗沒有標(biāo)準(zhǔn)工具欄、地址欄、鏈接工具欄、菜單欄,但有狀態(tài)欄,窗口中打??

          開的網(wǎng)頁(yè)地址為:http://www.dlrtvu.edu.cn。??

          2. close方法??
          語(yǔ)法格式:??

          window.close()??
          功能:close方法用于自動(dòng)關(guān)閉瀏覽器窗口。??

          ?? 3. alert方法??
          語(yǔ)法格式:??

          window.alert(提示字符串)??
          功能:彈出一個(gè)警告框,在警告框內(nèi)顯示提示字符串文本。??

          ?? 4. confirm方法??
          語(yǔ)法格式:??

          window.confirm(提示字符串)??
          功能:顯示一個(gè)確認(rèn)框,在確認(rèn)框內(nèi)顯示提示字符串,當(dāng)用戶單擊“確定”按鈕??

          時(shí)該方法返回true,單擊“取消”時(shí)返回false。??

          ?? 5. prompt方法??
          語(yǔ)法格式:??

          window.prompt(提示字符串,缺省文本)??
          功能:顯示一個(gè)輸入框,在輸入框內(nèi)顯示提示字符串,在輸入文本框顯示缺省文??

          本,并等待用戶輸入,當(dāng)用戶單擊“確定”按鈕時(shí),返回用戶輸入的字符串,當(dāng)??

          單擊“取消”按鈕時(shí),返回null值。??

          ?? 6. setTimeout方法??
          語(yǔ)法格式:??

          window.setTimeout(代碼字符表達(dá)式,毫秒數(shù))??
          功能:定時(shí)設(shè)置,當(dāng)?shù)搅酥付ǖ暮撩霐?shù)后,自動(dòng)執(zhí)行代碼字符表達(dá)式。??

          7. clearTimeout方法??
          語(yǔ)法格式:??

          window.clearTimeout(定時(shí)器)??
          功能:取消以前的定時(shí)設(shè)置,其中的參數(shù)是用setTimeout設(shè)置時(shí)的返回值。??

          ?? 8. setInterval方法??
          語(yǔ)法格式:??

          window.setInterval(代碼字符表達(dá)式,毫秒數(shù))??
          功能:設(shè)定一個(gè)時(shí)間間隔后(第二個(gè)參數(shù)),反復(fù)執(zhí)行“代碼字符表達(dá)式”的內(nèi)容??

          9. clearInterval方法??
          語(yǔ)法格式:??

          window.clearInterval(時(shí)間間隔器)??
          功能:取消setInterval設(shè)置的定時(shí)。其中的參數(shù)是setInterval方法的返回值。??

          10. moveBy方法??
          語(yǔ)法格式:??

          window.moveBy(水平位移量,垂直位移量)??
          功能:按照給定像素參數(shù)移動(dòng)指定窗口。第一個(gè)參數(shù)是窗口水平移動(dòng)的像素,第??

          二個(gè)參數(shù)是窗口垂直移動(dòng)的像素。??

          ?? 11.moveTo方法??
          語(yǔ)法格式:??

          window.moveTo(x,y)??
          功能:將窗口移動(dòng)到指定的指定坐標(biāo)(x,y)處。??

          12. resizeBy方法??
          語(yǔ)法格式:??

          window.resizeBy(水平,垂直)??
          功能:將當(dāng)前窗口改變指定的大小(x,y),當(dāng)x、y的值大于0時(shí)為擴(kuò)大,小于0時(shí)??

          為縮小。??

          13. resizeTo方法??
          語(yǔ)法格式:??

          window.resizeTo(水平寬度,垂直寬度)??
          功能:將當(dāng)前窗口改變成(x,y)大小,x、y分別為寬度和高度。??

          14. scrollBy方法??
          語(yǔ)法格式:??

          window.scrollBy(水平位移量,垂直位移量)??
          功能:將窗口中的內(nèi)容按給定的位移量滾動(dòng)。參數(shù)為正數(shù)時(shí),正向滾動(dòng),否則反??

          向滾動(dòng)。??

          15. scrollTo方法??
          語(yǔ)法格式:??

          window.scrollTo(x,y)??
          功能:將窗口中的內(nèi)容滾動(dòng)到指定位置。??

          16.find方法??
          語(yǔ)法格式:??

          window.find()??
          功能:當(dāng)觸發(fā)該方法時(shí),將彈出一個(gè)“find”(查找)對(duì)話窗口,并允許用戶在觸??

          發(fā)find方法的頁(yè)面中查找一個(gè)字符串。??

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

          17. back方法??
          語(yǔ)法格式:??

          window.back()??
          功能:模擬用戶點(diǎn)擊瀏覽器上的“后退”按鈕,將頁(yè)面轉(zhuǎn)到瀏覽器的上一頁(yè)。??

          說(shuō)明:僅當(dāng)當(dāng)前頁(yè)面存在上一頁(yè)時(shí)才能進(jìn)行該操作。??

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

          18. forward方法??
          語(yǔ)法格式:??

          window.forward()??
          功能:模擬用戶點(diǎn)擊瀏覽器上的“前進(jìn)”按鈕,將頁(yè)面轉(zhuǎn)到瀏覽器的下一頁(yè)。??

          說(shuō)明:僅當(dāng)當(dāng)前頁(yè)面存在下一頁(yè)時(shí)才能進(jìn)行該操作。??

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

          19. home方法??
          語(yǔ)法格式:??

          window.home()??
          功能:模擬用戶點(diǎn)擊瀏覽器上的“主頁(yè)”按鈕,將頁(yè)面轉(zhuǎn)到指定的頁(yè)面上。??

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

          20. stop方法??
          語(yǔ)法格式:??

          window.stop()??
          功能:模擬用戶點(diǎn)擊瀏覽器上的“停止”按鈕,終止瀏覽器的下載操作。??

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

          21. print方法??
          語(yǔ)法格式:??

          window.print()??
          功能:模擬用戶點(diǎn)擊瀏覽器上的“打印”按鈕,通知瀏覽器打開打印對(duì)話框打印??

          當(dāng)前頁(yè)。??
          ????????
          22. blur方法??
          語(yǔ)法格式:??

          window.blur()??
          功能:從窗口中移出焦點(diǎn)。當(dāng)與focus方法合用時(shí)必須小心,因?yàn)榭赡軐?dǎo)致焦點(diǎn)??

          不斷移進(jìn)移出。??

          23. focus方法??
          語(yǔ)法格式:??

          window.focus()??
          功能:使窗口中得到焦點(diǎn)。當(dāng)與blur方法合用時(shí)必須小心,因?yàn)榭赡軐?dǎo)致焦點(diǎn)不??

          斷移進(jìn)移出。
          24. captureEvent方法??
          語(yǔ)法格式:??

          window.captureEvent(Event)?????????
          window.captureEvent(事件1|事件2|...|事件n)??
          功能:捕捉指定參數(shù)的所有事件。由于能夠捕獲哪些由本地程序自己處理的事件??

          ,所以程序員可以隨意定義函數(shù)來(lái)處理事件。如果有多個(gè)事件需要捕捉,各事件??

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

          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事件??
          語(yǔ)法格式:??

          window.enableExternalCapture(event)??
          功能:enableExternalCapture方法用于捕捉通過(guò)參數(shù)傳入的外部事件。??

          26. disableExternalCapture事件??
          語(yǔ)法格式:??

          window.disableExternalCapture()??
          功能:取消enableExternalCapture方法的設(shè)置,終止對(duì)外部事件的捕捉。??

          27. handleEvent事件??
          語(yǔ)法格式:??

          window.handleEvent(event)??
          功能:觸發(fā)指定事件的事件處理器。??

          28. releaseEvent事件??
          語(yǔ)法格式:??

          window.releaseEvent(event)??
          window.releaseEvent(事件1|事件2|...|事件n)??
          功能:釋放通過(guò)參數(shù)傳入的已被捕捉的事件,這些事件是由??

          window.captureEvent方法設(shè)置的,可釋放的事件與captureEvent相同。??

          29. routeEvent事件??
          語(yǔ)法格式:??

          window.releaseEvent(event)??
          功能:把被捕捉類型的所有事件轉(zhuǎn)交給標(biāo)準(zhǔn)事件處理方法進(jìn)行處理,可轉(zhuǎn)交的事??

          件與captureEvent相同。??

          30 scroll事件??
          語(yǔ)法格式:??

          window.scroll(X坐標(biāo),Y坐標(biāo))??
          功能:將窗口移動(dòng)到指定的坐標(biāo)位置。??

          6-2-2 window對(duì)象的屬性??
          window對(duì)象具有如下屬性:??

          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屬性??
          語(yǔ)法格式:??

          window.status=字符串??
          功能:設(shè)置或給出瀏覽器窗口中狀態(tài)欄的當(dāng)前顯示信息。??

          小技巧:可以使用該屬性設(shè)置瀏覽器窗口狀態(tài)欄信息。??

          ?? 2. statusbar屬性??
          語(yǔ)法格式:??

          window.statusbar.屬性??
          功能:statusbar屬性本身也是一個(gè)對(duì)象,用于訪問它自已的visible屬性從而確??

          定狀態(tài)欄是否可見。??

          注:IE5.5瀏覽器不支持該屬性。??

          3. statusbar.visible屬性??
          語(yǔ)法格式:??

          window.statusbar.visible??
          功能:檢查狀態(tài)欄是否可見,如果可見則返回true,反之返回false。??

          注:IE5.5瀏覽器不支持該屬性。??

          ?? 4. defaultstatus屬性??
          語(yǔ)法格式:??

          window.defaultstatus[=字符串]??
          功能:defaultstatus屬性值是瀏覽器窗中狀態(tài)欄的默認(rèn)顯示信息。??

          ?? 5.location屬性??
          語(yǔ)法格式:??

          window.location=URL??
          功能:給出當(dāng)前窗口的URL信息或指定打開窗口的URL。??

          ?? 6. locationbar屬性??
          語(yǔ)法格式:??

          window.locationbar.屬性??
          功能:locationbar屬性也可以看成是一個(gè)子對(duì)象,這個(gè)屬性用來(lái)獲取它自已的??

          visible屬性來(lái)確定位置欄是否可見。??

          到目前為止,該屬性只有一個(gè)子屬性:visible。??

          注:IE5.5不支持該屬性。??

          7. locationbar.visible屬性??
          語(yǔ)法格式:??

          window.locationbar.visible??
          功能:返回位置欄是否可見,如果可見返回true,反之返回false。??

          注:IE5.5不支持該屬性。??

          8. self屬性??
          語(yǔ)法格式:??

          window.self.方法??
          window.self.屬性??
          功能:該屬性包含當(dāng)前窗口的標(biāo)志,利用這個(gè)屬性,可以保證在多個(gè)窗口被打開??

          的情況下,正確調(diào)用當(dāng)前窗口內(nèi)的函數(shù)或?qū)傩远粫?huì)發(fā)生混亂。??

          ?? 9. name屬性??
          語(yǔ)法格式:??

          window.name=名稱??
          功能:返回窗口名稱,這個(gè)名稱是由window.open()方法創(chuàng)建新窗口時(shí)給定的。??

          在javascript1.0版本中,這個(gè)屬性只能用于讀取窗口名稱,而到了??

          javascript1.1版本時(shí),可以用這個(gè)屬性給一個(gè)不是用window.open()方法創(chuàng)建的??

          窗口指定一個(gè)名稱。??

          ?? 10. closed屬性??
          語(yǔ)法格式:??

          window.closed??
          功能:closed屬性用于返回指定窗口的實(shí)例是否已經(jīng)關(guān)閉,如果關(guān)閉,返回true??

          ,反之返回flase。??

          11. frames屬性??
          語(yǔ)法格式:??

          window.frames["框架名稱"]??
          window.frames[數(shù)值]??
          功能:frames屬性是一個(gè)數(shù)組,用來(lái)存儲(chǔ)文檔中每一個(gè)由元素創(chuàng)建的子窗口(框??

          架)實(shí)例,其中的下標(biāo)即可以是次序號(hào)也可以是用FRAME元素的NAME屬性指定的名??

          稱來(lái)得到并使用。??

          12. frames.length屬性??
          語(yǔ)法格式:??

          window.frames.length??
          功能:frames.length屬性用于給出文檔中子窗口(框架)實(shí)例的個(gè)數(shù)。??

          13. length屬性??
          語(yǔ)法格式:??

          window.length??
          功能:length屬性返回一個(gè)窗口內(nèi)的子窗口數(shù)目,該屬性與??

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

          14. document屬性??
          語(yǔ)法格式:??

          window.document.事件??
          window.document.方法??
          window.document.屬性??
          功能:window對(duì)象的子對(duì)象document是javascript的核心對(duì)象,在腳本中遇到??

          BODY元素時(shí)創(chuàng)建一個(gè)實(shí)例。??

          15. history屬性??
          語(yǔ)法格式:??

          window.history[數(shù)值]??
          window.history.方法()??
          window.history.屬性??
          window對(duì)象的子對(duì)象history是javascript的核心對(duì)象之一,該屬性包含了一個(gè)??

          已訪問過(guò)頁(yè)面的名稱和URL的數(shù)組。??

          16. innerHeight屬性??
          語(yǔ)法格式:??

          window.innerHeight=數(shù)值??
          功能:返回或指定瀏覽器窗口中文檔的像素高度,這個(gè)高度不包括任何工具欄和??

          組成窗口的頁(yè)面修飾高度。??

          注:IE5.5不支持該屬性。??

          17. innerWidth屬性??
          語(yǔ)法格式:??

          window.innerHeight=數(shù)值??
          功能:返回或指定瀏覽器窗口中文檔的像素寬度,這個(gè)寬度不包括任何工具欄和??

          組成窗口的頁(yè)面修飾寬度。??

          注:IE5.5不支持該屬性。??

          18. menubar屬性??
          語(yǔ)法格式:??

          window.menubar.屬性??
          功能:menubar屬性也可以看成是一個(gè)子對(duì)象,這個(gè)屬性用來(lái)獲取它自已的??

          visible屬性來(lái)確定菜單欄是否可見。??

          到目前為止,該屬性只有一個(gè)子屬性:visible。??

          注:IE5.5不支持該屬性。??

          19. menubar.visible屬性??
          語(yǔ)法格式:??

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

          之返回false。??

          注:IE5.5不支持該屬性。??
          20. opener屬性??
          語(yǔ)法格式:??

          window.opener??
          window.opener.方法??
          window.opener.屬性??
          功能:opener屬性與打開該窗口的父窗口相聯(lián)系,當(dāng)訪問子窗口中operer屬性時(shí)??

          ,返回的是父窗口。通過(guò)該屬性,可以使用父窗口對(duì)象中的方法和屬性。??

          21. outerHeight屬性??
          語(yǔ)法格式:??

          window.outerHeight??
          功能:outerHeight屬性用于訪問瀏覽器窗口的像素高度,該高度包括工具欄和??

          裝飾邊的高度。??

          注:IE5.5不支持該屬性。??

          22. outerWidth屬性??
          語(yǔ)法格式:??

          window.outerWidth??
          功能:outerWidth屬性用于訪問瀏覽器窗口的像素寬度,該寬度包括工具欄和裝??

          飾邊的寬度。??

          注:IE5.5不支持該屬性。??

          23. pageXOffset屬性??
          語(yǔ)法格式:??

          window.pageXOffset=數(shù)值??
          功能:指定瀏覽器窗口中文檔左上角在窗口中的當(dāng)前水平像素位置。在利用??

          moveTo移動(dòng)之前,可以通過(guò)該屬性來(lái)決定是否需要移動(dòng)窗口。因?yàn)樵搶傩苑祷亓??

          可見文檔相對(duì)整個(gè)頁(yè)面的當(dāng)前位置。??

          注:IE5.5不支持該屬性。??

          24. pageYOffset屬性??
          語(yǔ)法格式:??

          window.pageYOffset=數(shù)值??
          功能:指定瀏覽器窗口中文檔左上角在窗口中的當(dāng)前垂直像素位置。在利用??

          moveTo移動(dòng)之前,可以通過(guò)該屬性來(lái)決定是否需要移動(dòng)窗口。因?yàn)樵搶傩苑祷亓??

          可見文檔相對(duì)整個(gè)頁(yè)面的當(dāng)前位置。??

          注:IE5.5不支持該屬性。??

          25. parent屬性??
          語(yǔ)法格式:??

          window.parent.frames[數(shù)值]??
          window.parent.framesName??
          功能:訪問各個(gè)子窗口(多框架)所在的父窗口。??

          26. personalbar屬性??
          語(yǔ)法格式:??

          window.personalbar.屬性??
          功能:personalbar屬性本身也是一個(gè)對(duì)象,用于訪問其自身的visible屬性來(lái)確??

          定個(gè)人欄是否可見。??

          注:IE5.5不支持該屬性。??

          27. personalbar.visible屬性??
          語(yǔ)法格式:??

          window.personalbar.visible??
          功能:確定個(gè)人欄是否可見,如果可見則返回true,反之返回false。??

          注:IE5.5不支持該屬性。??

          28. scrollbars屬性??
          語(yǔ)法格式:??

          window.scrollbars.屬性??
          功能:scrollbars屬性本身也是一個(gè)對(duì)象,用于訪問其自身的visible屬性來(lái)確??

          定滾動(dòng)欄是否可見。??

          注:IE5.5不支持該屬性。??

          29. scrollbars.visible屬性??
          語(yǔ)法格式:??

          window.scrollbars.visible??
          功能:scrollbars.visible用于確定滾動(dòng)欄是否可見,如果可見則返回true,反??

          之返回false。??

          注:IE5.5不支持該屬性。??

          30. toolbar屬性??
          語(yǔ)法格式:??

          window.toolbar.屬性??
          功能:toolbar屬性本身也是一個(gè)對(duì)象,用于訪問它自已的visible屬性從而確定??

          工具欄是否可見。??

          注:IE5.5不支持該屬性。??

          31. toolbar.visible屬性??
          語(yǔ)法格式:??

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

          反之返回false。??

          注:IE5.5不支持該屬性。??

          32. top屬性??
          語(yǔ)法格式:??

          window.top.frames[數(shù)值]??
          window.top.frameName??
          window.top.方法()??
          window.top.屬性??
          功能:window對(duì)象的top屬性用于包含所有裝入瀏覽器的子窗口(多框架)的最頂

          使用Window.open方法新建窗口
          Window對(duì)象表示的是瀏覽器窗口,它有多種操作,其中一個(gè)重要的方法是open,表示新建一個(gè)窗口來(lái)打開指定頁(yè)面。例如在a.html中執(zhí)行以下語(yǔ)句:
          window.open("b.html");
          則新建一個(gè)窗口打開了b.html頁(yè)面,這和在a.html頁(yè)面中用一條鏈接打開頁(yè)面的效果是一樣的:
          <a href="b.html" target="_blank">b</html>
          但window.open對(duì)新建窗口的樣式可以有更多的控制,例如:窗口大小、是否顯示菜單欄、是否顯示滾動(dòng)條、是否顯示地址欄等等。其完整的調(diào)用語(yǔ)法如下:
          window.open(url,windowName,"name1=value1[,name2=value2,[…]]");
          其中:url是要打開的頁(yè)面地址;windowName表示新建窗口的名字,從而可以對(duì)其進(jìn)行控制;最后是一個(gè)用字符串表示的參數(shù)列表。每一個(gè)參數(shù)都是名稱和值對(duì)應(yīng)的形式,用逗號(hào)隔開,其中可以使用的參數(shù)如下。
          ??height:表示新建窗口的高度;
          ??width:表示新建窗口的寬度;
          ??left:表示新建窗口到屏幕左邊緣的距離;
          ??top:表示新建窗口到屏幕頂端的距離。
          以上屬性的單位均為象素,例如對(duì)于800×600的分辨率,left=400則表示新窗口的左邊緣處于屏幕的正中間。其余的屬性主要是布爾型的,用yes或者1表示開啟,用no或者0表示關(guān)閉。如果是開啟,則yes或者1可省略,例如:toolbar=1等價(jià)于toolbar=yes等價(jià)于toolbar,下面分別介紹這些屬性:
          ??directories:是否顯示鏈接工具欄;
          ??location:是否顯示地址欄;
          ??menubar:是否顯示菜單欄;
          ??resizable:是否允許調(diào)整窗口大小;
          ??scrollbars:是否顯示滾動(dòng)條;
          ??status:是否顯示狀態(tài)欄;
          ??toolbar:是否顯示工具欄。
          例如,下面的代碼將顯示一個(gè)無(wú)菜單、無(wú)工具條、無(wú)滾動(dòng)條的窗口:
          window.open("test3.html","","height=200,width=300, toolbar=0,menubar=0,scrollbars=0");

          使用定時(shí)器實(shí)現(xiàn)JavaScript的延期執(zhí)行或重復(fù)執(zhí)行
          window對(duì)象提供了兩個(gè)方法來(lái)實(shí)現(xiàn)定時(shí)器的效果,分別是window.setTimeout()和window.setInterval。其中前者可以使一段代碼在指定時(shí)間后運(yùn)行;而后者則可以使一段代碼每過(guò)指定時(shí)間就運(yùn)行一次。它們的原型如下:
          window.setTimeout(expression,milliseconds);
          window.setInterval(expression,milliseconds);
          其中,expression可以是用引號(hào)括起來(lái)的一段代碼,也可以是一個(gè)函數(shù)名,到了指定的時(shí)間,系統(tǒng)便會(huì)自動(dòng)調(diào)用該函數(shù),當(dāng)使用函數(shù)名作為調(diào)用句柄時(shí),不能帶有任何參數(shù);而使用字符串時(shí),則可以在其中寫入要傳遞的參數(shù)。兩個(gè)方法的第二個(gè)參數(shù)是milliseconds,表示延時(shí)或者重復(fù)執(zhí)行的毫秒數(shù)。下面分別介紹兩種方法。

          1.window.setTimeout方法
          該方法可以延時(shí)執(zhí)行一個(gè)函數(shù),例如:
          <script language="JavaScript" type="text/javascript">
          <!--
          function hello(){
          ?alert("hello");
          }
          window.setTimeout(hello,5000);
          //-->
          </script>
          這段代碼將使得頁(yè)面打開5秒鐘后顯示對(duì)話框“hello”。其中最后一句也可以寫為:
          window.setTimeout("hello()",5000);
          讀者可以體會(huì)它們的差別,在window.setInterval方法中也有這樣的性質(zhì)。
          如果在延時(shí)期限到達(dá)之前取消延執(zhí)行,可以使用window.clearTimeout(timeoutId)方法,該方法接收一個(gè)id,表示一個(gè)定時(shí)器。這個(gè)id是由setTimeout方法返回的,例如:
          <script language="JavaScript" type="text/javascript">
          <!--
          function hello(){
          ????? alert("hello");
          }
          var window.clearTimeout(id);
          }
          //-->
          </script>
          這樣,如果要取消顯示,只需單擊頁(yè)面任何一部分,就執(zhí)行了window.clearTimeout方法,使得超時(shí)操作被取消。

          2.window.setInterval方法
          該方法使得一個(gè)函數(shù)每隔固定時(shí)間被調(diào)用一次,是一個(gè)很常用的方法。如果想要取消定時(shí)執(zhí)行,和clearTimeout方法類似,可以調(diào)用window.clearInterval方法。clearInterval方法同樣接收一個(gè)setInterval方法返回的值作為參數(shù)。例如:
          //定義一個(gè)反復(fù)執(zhí)行的調(diào)用
          var somefunction",10000);
          //取消定時(shí)執(zhí)行
          window.clearInterval(id);
          上面的代碼僅用于說(shuō)明怎樣取消一個(gè)定時(shí)執(zhí)行。實(shí)際上在很多場(chǎng)合都需要用到setInterval方法,下面將設(shè)計(jì)一個(gè)秒表,來(lái)介紹setInterval函數(shù)的用途:該秒表將包括兩個(gè)按鈕和一個(gè)用于顯示時(shí)間的文本框。當(dāng)單擊開始按鈕時(shí)開始計(jì)時(shí),最小單位為0.01秒,此時(shí)再次單擊按鈕則停止計(jì)時(shí),文本框顯示經(jīng)過(guò)的時(shí)間。另外一個(gè)按鈕用于將當(dāng)前時(shí)間清零。其實(shí)現(xiàn)代碼如下:
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
          <html>
          <head>
          <title> New Document </title>
          </head>
          <body>
          <form action="somepage.asp">
          <input type="text" value="0" />
          <input type="button" value="開始" />
          <input type="button" value="重置" />
          </form>
          </body>
          </html>
          <script language="JavaScript" type="text/javascript">
          <!--
          //獲取表單中的表單域
          var txt=document.forms[0].elements["txt1"];
          var btnStart=document.forms[0].elements["btnStart"];
          var btnReset=document.forms[0].elements["btnReset"]
          //定義定時(shí)器的id
          var id;
          //每10毫秒該值增加1
          var seed=0;

          btnStart.onclick=function(){
          ????? //根據(jù)按鈕文本來(lái)判斷當(dāng)前操作
          ????? if(this.value=="開始"){
          ????????????? //使按鈕文本變?yōu)橥V?br />????????????? this.value="停止";
          ????????????? //使重置按鈕不可用
          ????????????? btnReset.disabled=true;
          ????????????? //設(shè)置定時(shí)器,每0.01s跳一次
          ????????????? }else{
          ????????????? //使按鈕文本變?yōu)殚_始
          ????????????? this.value="開始";
          ????????????? //使重置按鈕可用
          ????????????? btnReset.disabled=false;
          ????????????? //取消定時(shí)
          ????????????? window.clearInterval(id);
          ????? }
          }

          //重置按鈕
          btnReset.onclick=function(){
          ???? seed=0;
          }
          //讓秒表跳一格
          function tip(){
          ????? seed++;
          ????? txt.value=seed/100;
          }
          //-->
          </script>
          給定時(shí)器調(diào)用傳遞參數(shù)
          無(wú)論是window.setTimeout還是window.setInterval,在使用函數(shù)名作為調(diào)用句柄時(shí)都不能帶參數(shù),而在許多場(chǎng)合必須要帶參數(shù),這就需要想方法解決。例如對(duì)于函數(shù)hello(_name),它用于針對(duì)用戶名顯示歡迎信息:
          var userName="jack";
          //根據(jù)用戶名顯示歡迎信息
          function hello(_name){
          ????? alert("hello,"+_name);
          }
          這時(shí),如果企圖使用以下語(yǔ)句來(lái)使hello函數(shù)延遲3秒執(zhí)行是不可行的:
          window.setTimeout(hello(userName),3000);
          這將使hello函數(shù)立即執(zhí)行,并將返回值作為調(diào)用句柄傳遞給setTimeout函數(shù),其結(jié)果并不是程序需要的。而使用字符串形式可以達(dá)到想要的結(jié)果:
          window.setTimeout("hello(userName)",3000);
          這里的字符串是一段JavaScript代碼,其中的userName表示的是變量。但這種寫法不夠直觀,而且有些場(chǎng)合必須使用函數(shù)名,下面用一個(gè)小技巧來(lái)實(shí)現(xiàn)帶參數(shù)函數(shù)的調(diào)用:
          <script language="JavaScript" type="text/javascript">
          <!--
          var userName="jack";
          //根據(jù)用戶名顯示歡迎信息
          function hello(_name){
          ?????? alert("hello,"+_name);
          }
          //創(chuàng)建一個(gè)函數(shù),用于返回一個(gè)無(wú)參數(shù)函數(shù)
          function _hello(_name){
          ?????? return function(){
          ???????????? hello(_name);
          ?????? }
          }
          window.setTimeout(_hello(userName),3000);
          //-->
          </script>
          這里定義了一個(gè)函數(shù)_hello,用于接收一個(gè)參數(shù),并返回一個(gè)不帶參數(shù)的函數(shù),在這個(gè)函數(shù)內(nèi)部使用了外部函數(shù)的參數(shù),從而對(duì)其調(diào)用,不需要使用參數(shù)。在window.setTimeout函數(shù)中,使用_hello(userName)來(lái)返回一個(gè)不帶參數(shù)的函數(shù)句柄,從而實(shí)現(xiàn)了參數(shù)傳遞的功能。

          使用status和defaultStatus屬性改變狀態(tài)欄信息
          status和defaultStatus是window對(duì)象的屬性,用于設(shè)置狀態(tài)欄信息,語(yǔ)法為:
          window.status="message";
          window.defaultStatus="message";

          其中status屬性就是用于設(shè)置狀態(tài)欄顯示的文本。而defaultStatus表示默認(rèn)的狀態(tài)欄信息,例如默認(rèn)情況下IE瀏覽器會(huì)顯示“完畢”,而Firefox瀏覽器則顯示“完成”。可以通過(guò)defaultStatus來(lái)改變這一信息。
          使用alert、prompt和confirm語(yǔ)句與用戶進(jìn)行交互
          這三個(gè)語(yǔ)句都是彈出一個(gè)對(duì)話框,來(lái)處理用戶輸入。它們都是window對(duì)象的一個(gè)方法,在實(shí)際使用時(shí),常常省略window,而直接寫成alert("hello")類似的形式。下面分別介紹:
          1.a(chǎn)lert語(yǔ)句
          該語(yǔ)句的原型是:
          window.alert(message);
          alert接收一個(gè)參數(shù),該參數(shù)將轉(zhuǎn)換為字符串直接顯示在對(duì)話框上,例如:
          alert("hello,ajax");
          2.prompt語(yǔ)句
          該語(yǔ)句的原型是:
          window.prompt(message,defaultValue);
          prompt用于讓用戶輸入一個(gè)值,其中message表示提示信息,defaultValue表示顯示于文本框的初始值;函數(shù)返回用戶的輸入。對(duì)話框包括【確定】和【取消】?jī)蓚€(gè)按鈕,用戶單擊【確定】按鈕則返回文本框中的內(nèi)容,單擊【取消】則返回null。例如:
          var userName=window.prompt("請(qǐng)輸入您的姓名:","");
          alert("hello,"+userName);
          其中prompt提示用戶輸入其姓名,使用userName變量獲取用戶輸入,并顯示歡迎信息。

          3.confirm語(yǔ)句
          該語(yǔ)句的原型是:
          window.confirm(message);
          其作用是顯示一條信息讓用戶確認(rèn),彈出的對(duì)話框包括【確定】和【取消】?jī)蓚€(gè)按鈕,如果用戶單擊【確定】,則confirm函數(shù)返回true,否則返回false。例如下面的語(yǔ)句:
          if(confirm("確定刪除該記錄嗎?")){
          ?????? //刪除記錄的操作
          }else{
          ?????? //不刪除記錄
          }

          主站蜘蛛池模板: 芜湖县| 白河县| 朔州市| 崇仁县| 峨眉山市| 镇安县| 曲沃县| 新田县| 类乌齐县| 桃江县| 邵东县| 舒兰市| 依安县| 舞阳县| 普兰县| 澄江县| 晋宁县| 沂源县| 温州市| 五峰| 泸水县| 阳东县| 大渡口区| 九龙坡区| 乌兰察布市| 山西省| 静海县| 营山县| 永城市| 镇安县| 侯马市| 泰兴市| 莒南县| 亳州市| 屯昌县| 新兴县| 龙里县| 专栏| 涿州市| 和顺县| 司法|