1. 程式人生 > >JavaScript Window物件

JavaScript Window物件

   Window物件在JavaScript中扮演正非常重要的角色。

  下面介紹一些重要的Window屬性:
  closed
     當視窗被關閉時,返回true
  defaultStatus、status
     在瀏覽器狀態列中顯示的文字
  document
     對Document物件的引用,該物件代表在視窗中顯示的HTML文件(以後將詳細介紹)
  frames[]
     Window物件的陣列,代表視窗中的各個框架(如果存在)
  history
     對History物件的引用,該物件代表使用者瀏覽視窗的歷史
  location
     對Location物件的引用,該物件代表在視窗中顯示的文件的URL。設定這個屬性會引 發瀏覽器裝載一個新文件
  name
     視窗的名稱。可被HTML標記<a>的target性質使用
  opener
     對開啟當前視窗的Window物件的引用。如果當前視窗被使用者開啟,則它的值為null
  parent
     如果當前視窗是框架,它就是對包含這個框架的視窗的引用
  self
     自引用屬性,是對當前Window物件的引用,與window屬性同義
  top
     如果當前視窗是框架,它就是對包含這個框架的頂級視窗的Window物件的引用
  window
     自引用屬性,同self

  Window物件的重要方法:
  alert() confirm() prompt()
     向用戶顯示簡單的對話方塊,confirm()和prompt()用於獲取使用者的響應
  close()
     關閉視窗
  focus() blur()
     請求或放棄視窗的鍵盤焦點。focus()方法還通過把視窗提前到堆疊順序的最前面,  從而確保視窗可見
  moveBy() moveTo()
     移動視窗
  open()
     開啟新的定義視窗,用指定的特性顯示指定的URL
  print()
     列印視窗或框架中的內容,就像使用者點選了視窗工具欄中的Print按鈕一樣(某些老版  本瀏覽器不支援此方法)  
  resizeBy() resizeTo()
     調整視窗大小
  scrollBy() scrollTo()
     滾動視窗中顯示的文件
  setInterval() clearInterval()
     設定或者取消重複呼叫的函式,該函式在兩次呼叫之間有指定的延遲
  setTimeout() clearTimeout()
     設定或取消在指定的若干毫秒後要呼叫一次的函式

  Window物件的onerror屬性比較特殊,如果給這個屬性賦一個函式,那麼只要這個視窗中發生JavaScript錯誤,該函式就會被呼叫,它就成了視窗的錯誤處理函式。定義onerror屬性方法,如:
          window.onerror=method; //注意method為要處理錯誤呼叫的函式,不要();
  傳遞給錯誤處理程式的引數有三個。第一個是描述錯誤的訊息,它可以是"missing operator in expression"()、"self is read-only"()或"myname is not defined"();第二個引數是一個字串,用來存放引發錯誤的JavaScript程式碼所在的文件的URL;第三個引數是文件中發生錯誤的行程式碼。
  除了引數,onerror處理程式有個重要返回值。當發生錯誤時,瀏覽器通常在一個對話方塊或狀態列中顯示錯誤訊息。如果onerror返回true,它通知系統處理程式將處理錯誤,無需其他操作,系統也就不會顯示自己的錯誤訊息。
  需要注意:onerror錯誤處理程式在Netscape6種存在bug。雖然在發生錯誤的時候會觸發指定函式,但傳給函式的三個引數不正確,而且不可用。Netscape 6和其他支援JavaScript1.5的瀏覽器有另外一種捕捉錯誤的方法——try/catch語句。

  Window.navigator屬性引用的是包含Web瀏覽器總體資訊的Navigator物件。這個物件是在Netscape Navigator之後命名的,不過IE也支援它,IE還支援屬性clientInformation,它是navigator的同義詞,但Netsacpe和Mozilla不支援它。以下是Navigator物件的五個重要屬:
  appName
     Web瀏覽器的簡單名稱
  appVersion 
     瀏覽器的版本號和其他版本資訊。注意,這個是內部版本號,可能與顯示給使用者的版本號不一致。
  userAgent
     瀏覽器在它的UESR-AGENT HTTP標題中傳送的字串。這個屬性通常包含appName和appVersion中的所有資訊
  appCodeName 
     瀏覽器的程式碼名。Netscape用程式碼名"mozilla"作為這一屬性的值       
  platform
     執行瀏覽器的硬體平臺。這一屬性是JavaScript1.2加入的  

  在JavaScript1.2中,Window物件的screen屬性引用Screen物件。Screen物件提供有關使用者顯示器的大小和可用顏色數量的資訊。屬性width和height指定的是以畫素為單位ide顯示器大小,屬性availWidth和availHeight指定的是實際可用的顯示器大小,排除了像Windows工作列這樣的特性所佔的空間。
  屬性colorDepth指定可以顯示的顏色數的以2為底的對數。這個值通常與顯示器所使用的每個畫素的位數相同。但是某些環境中,瀏覽器可能對自身的限制,可以顯示的是可以顏色的子集。這時,screen.colorDepth的值小於螢幕的每個畫素的位數。

  Window 物件的open()方法可以開啟一個新的瀏覽器視窗。這個方法有四個可選引數,返回代表新開啟視窗的Window物件。open()第一個引數是新視窗的URL,如果被省略則開啟視窗;第二個引數是新開啟視窗的視窗名,這個名字可以作為<a>標記或<form>標記的target屬性的值;第三個引數是特性列表,這些特性聲明瞭視窗的大小和它的GUI裝飾(如選單欄,狀態列,工具欄等);第四個引數只在第二個引數命名的是一個已存在的視窗時才有用,它是一個布林值,宣告由第一個引數指定的URL是應該替換掉視窗瀏覽器歷史的當前項(true),還是應該在視窗瀏覽歷史中建立一個新的項(false),後者是預設設定。
  下面是從網上收集的open()方法的各項引數
     引數 | 取值範圍 | 說明
     alwaysLowered | yes/no | 指定視窗隱藏在所有視窗之後
     alwaysRaised | yes/no | 指定視窗懸浮在所有視窗之上
     depended | yes/no | 是否和父視窗同時關閉
     directories | yes/no | Nav2和3的目錄欄是否可見
     height | pixel value | 視窗高度
     hotkeys | yes/no | 在沒選單欄的視窗中設安全退出熱鍵
     innerHeight | pixel value | 視窗中文件的畫素高度
     innerWidth | pixel value | 視窗中文件的畫素寬度
     location | yes/no | 位置欄是否可見
     menubar | yes/no | 選單欄是否可見
     outerHeight | pixel value | 設定視窗(包括裝飾邊框)的畫素高度
     outerWidth | pixel value | 設定視窗(包括裝飾邊框)的畫素寬度
     resizable | yes/no | 視窗大小是否可調整
     screenX | pixel value | 視窗距螢幕左邊界的畫素長度
     screenY | pixel value | 視窗距螢幕上邊界的畫素長度
     scrollbars | yes/no | 視窗是否可有滾動欄
     titlebar | yes/no | 視窗題目欄是否可見
     toolbar | yes/no | 視窗工具欄是否可見
     Width | pixel value | 視窗的畫素寬度
     z-look | yes/no | 視窗被啟用後是否浮在其它視窗之上

  在JavaScript1.2中,方法moveTo()可以將視窗的左上角移動到指定座標。moveBy()方法可以將視窗上下左右移動指定數量的畫素。方法resizeTo()和resizeBy()可以按照相對數量和絕對數量調整視窗大小。

  方法focus()和blur()提供了對視窗的高階控制。focus()會請求系統將鍵盤焦點賦予視窗,blur()則會放棄鍵盤焦點。

  方法scrollBy()會將視窗中顯示的文件向左右上下滾動指定數量的畫素。而scrollTo()會將文件滾動到一個絕對位置。

  視窗的location屬性引用的是Location物件,它代表該視窗中當前顯示的文件的URL。Location物件的href屬性是一個字串,包含完整的URL。其它屬性(如protocal、host、pathname和search等)則分別聲明瞭URL的各個部分。
  Location物件的search屬性,包含的是問號之後的那部分URL,這部分通常是某種型別的查詢字串。(有個提取URL中引數的例子)
  Location物件自身也可以被用作一個原始字串值,它的值與href屬性值相同(Location物件有一個相配的toString()方法)。同時還以給視窗的location屬性賦值,這樣會引起瀏覽器裝載並跳轉到相應頁面。、
  Location物件還支援兩種方法給location屬性賦值。方法reload()會從Web伺服器再次裝入當前顯示的頁面;方法replace()會裝載並顯示指定的URL,但是它不同於直接將一個URL賦給視窗的location屬性,replace()方法會替換瀏覽器歷史列表中的當前URL,而不是在歷史列表中建立一個新條目。
  需要注意的是Window物件的location屬性和Ducoment物件的location屬性不同。前者引用一個Location物件,後者只是一個字串,不具有Location物件的任何特性,document.location同document.URL。在大多數情況下document.location和location.href相同,但是,如果存在伺服器重定向,document.location包含的是已經裝載的URL,而location.href包含的是原始請求文件的URL。

  Window物件的history屬性引用的是該視窗的History物件。出於安全因素的考慮,其實指令碼不能真正訪問History物件中以陣列形式儲存的視窗的瀏覽歷史(除非使用者在Netscape 4和其後的版本中對有簽名的指令碼進行了授權)。History物件的length屬性可以被訪問,但它不能提供任何有用資訊。
  但History物件支援三種方法:方法back()和forward()可以在視窗(或框架)的瀏覽歷史中前後移動,這與客戶點選瀏覽器的Back和Forward按鈕作用相同;方法go()有一個整數引數,可以在歷史列表中向前或向後跳過多個頁。

  Window物件的方法open()返回代表新建立的視窗的Window物件,而這個新視窗具有opener屬性,該屬性可以開啟它的原始視窗,從而實現兩個視窗的相互引用。而一個視窗中的任何框架都可以使用Window物件的屬性frames、parent和top屬性來引用其它框架。
  我們可以通過name屬性給視窗或框架指定一個名字,這個名字可以用作<a>、<map>或<form>的性質的target的值,這樣就可以告訴瀏覽器把啟用連結、點選影象或者提交表單的結果顯示在哪裡。
  雖然target和name都是HTML的一部分,與JavaScript無關,但是給框架命名卻與JavaScript有關。給框架命名後,我們就可以通過名字,在JavaScript中引用這個框架,如:給一個框架名字<frame name="frmName" src="frm.html">,我們就可以在它的兄弟框架中通過parent.frmName來引用它。
  在多視窗或多框架中,我們可以通過parent、top等實現視窗或框架中屬性或方法的相互呼叫。在採用這種方式在框架或建立間共享函式時,詞法作用域的規則非常重要,函式在定義它的作用域中執行,而不是在呼叫它的作用域中執行。所以在函式執行過程中呼叫的變數是在定義它的作用域中尋找,而不在執行它的作用域尋找。

相關推薦

JavaScript Window物件與使用者互動

前言:Window物件是開啟瀏覽器視窗,可以控制視窗的大小和位置、視窗彈出框、開啟和關閉視窗。控制視窗顯示位址列,工具欄。還可以控制是否過載網頁、返回上一個或下一個文件。 1、警告對話方塊 window.alert(str); 程式碼片段: <html> &l

javascript,window物件,window物件案例,window物件的使用

javascript,window物件,window物件案例,window物件的使用 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>javascript,wi

JavaScript Window物件

   Window物件在JavaScript中扮演正非常重要的角色。   下面介紹一些重要的Window屬性:  closed     當視窗被關閉時,返回true  defaultStatus、status     在瀏覽器狀態列中顯示的文字  document     對

JavaScript中的window物件 (狀態列動態文字例項)

window物件在js中經常會提到, 在具體瞭解之前經常會感覺疑惑, window到底是個啥, 這篇就是用來介紹window給和我一樣的菜鳥 Window - 瀏覽器物件模型 為什麼說瀏覽器物件呢? 因為window物件它表示瀏覽器窗口或一個框架, 與windows作業系統沒啥關係

JavaScriptwindow 物件

一、DHTML 概述  1. DHTML 簡介 DHTML 通過操作 HTML 以創造各種動態視覺效果,是一種瀏覽器端的動態網頁技術。 (1). DHTML 的功能 動態改變頁面元素 與使用者進行互動 DHTML 物件模型包括瀏覽器物件模型和 DOM 物

javascriptwindow物件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://

JavaScript進階(二)window物件

前言        本章學習JS的window物件的相關知識 方法        特別的,window物件不用new,直接進行使用即可,類似Math的使用方式,window關鍵字可以省略不寫。 一、框

Javascript 高階程式設計(第三版)》筆記0xC BOM window 物件

目錄   window 物件     全域性作用域      視窗關係及框架       top         parent

javascript中的window物件的知識點

javascript中的window物件的知識點 內建物件定義:可以不需要宣告和建立,可以直接使用,內建物件全部為javascript關鍵字 window是內建物件,因為window使用的太頻繁了,所以一般window可以省略不寫,我們平時用的alert()其本質就是window.ale

通過和看JavaScriptwindow物件parent、self、top的區別

<frameset>、<frame>、 <!--iframe 是在html頁面內嵌入框架框架內可以連線另一個頁面--> <html> <head

Javascript高階程式設計學習筆記(27)—— BOM(1)window物件1

ECMAScript是JS的核心 但是對於在瀏覽器中執行的JS,BOM顯然才是真正的核心   我們知道JS是由三個部分組成的 BOM、DOM、ECMAScript 之前的文章我們主要介紹的是ECMAScript 也就是JS的核心語法 但是JS作為一種指令碼語言,其建立的初衷不就是為了控制

Javascript高階程式設計學習筆記(28)—— BOM(2)window物件2

今天講一下window物件和瀏覽器導航,彈窗等有關的內容   導航和開啟視窗   window.open() 用於導航到某個特定 url 該方法接收四個引數 1、url 2、視窗目標(當頁面中有多個框架frame,用於指定哪個視窗開啟第一個引數的url) 3、特性字串(用於

JavaScript學習筆記:(window物件

番外 confirm():彈出資訊對話方塊。返回值boolean型別; prompt():彈出資訊對話方塊。返回輸入的資訊 正文 (1)計時器:setInterval(); 語法:setInterval(程式碼,互動時間); 引數: 程式碼:要呼叫的函式或要執行的程式

JavaScript裡面的window物件

DOM文件      window的事件 onclick事件 當按鈕被點選時,會執行該函式 例如:window.onclick=function(){  //程式碼片段} onload 和 onunload 事件 onload 和 onunlo

JavaScriptwindow物件_frames陣列物件

window物件的frames屬性是一個數組,它與window物件的parent、top等 物件屬性,都是用於對HTML的幀標籤(<frameset>或<iframe>)進行程

【例項】javascript中的window物件的onbeforeunload、onload、onunload的區別(在新版本的瀏覽器中兩個關閉事件可能不會觸發)

onload是在頁面載入的時候觸發,與之相反onunload是在頁面關閉(解除安裝)的時候觸發,至於onbeforeunload是指頁面將要關閉的時候觸發(一般用於彈出是否確認關閉的時候) 上程式碼 <!DOCTYPE HTML PUBLIC "-//W3C//DT

javaScript寫水印js過程中window物件的屬性丟失問題

/** * * * @author caiwei * @version 1.0 * @created 2017-09-21 16:12:06 * @since 1.0 **/ function watermar

javascript操作window物件

document.defaultView或全域性變數window——獲取一個window物件; 1)獲取視窗資訊 innerHeight、innerWidth——獲取視窗內容區域的高度、寬度; outerHeight、outerWidth——獲取視窗的高度、寬度(包含邊框和

關於JavaScriptwindow物件的status屬性

程式碼示例如下:<!doctype html> <html lang="en"> <head> <meta charset="UTF-8">

認識Javascript中控制視窗大小的Screen和Window物件

Screen物件儲存了客戶的電腦螢幕資訊,這些資訊可以用來探測客戶端硬體的基本配置 Screen物件的基本屬性: availHight:顯示Web瀏覽器的螢幕可用高度,不包括Windows的工作列(重點是顯示屏而不是瀏覽器,這邊不要誤解,它只是只是瀏覽器可以用剩下多高的顯示