資源描述:
《《操作窗口和框架》PPT課件》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第8章操作窗口和框架JavaScript作為一種客戶端的腳步語言,其必須依賴于客戶端瀏覽器的解釋和執(zhí)行,不能獨(dú)立于瀏覽器存在。另一方面,JavaScript是被作為HTML語言的一個部分存在的,在JavaScript中,將瀏覽器中載入頁面的各個部分按HTML標(biāo)記區(qū)分為各種對應(yīng)的對象。8.1示例:模擬LiveMessenger的振動閃屏功能HTML標(biāo)記從數(shù)據(jù)結(jié)構(gòu)上來說屬于樹的拓?fù)洌瑥母?jié)點(diǎn)“HTML”標(biāo)記開始,其每個子集都是一顆子樹。因此在JavaScript中,頁面元素對應(yīng)的腳本對象也具有樹的結(jié)構(gòu)特點(diǎn),和HTML文檔中的結(jié)構(gòu)相對應(yīng)。最高的頁面對象是窗口對象(“window”對象)。代碼
2、.htm是使用腳本操作窗口對象,模擬微軟的即時聊天工具LiveMessenger的振動閃屏功能。8.2控制窗口-窗口對象的事件、屬性和方法窗口對象是頁面元素對象中比較重要的一個對象,因為其地位比較特殊。窗口對象作為所有頁面元素對象的根對象,不僅有著一般頁面元素所具有的基本的事件、屬性和方法,也有著其自身獨(dú)有的某些特質(zhì)。8.2.1獲取窗口的改變—窗口對象的事件表中列出了常見的窗口對象事件。8.2.2控制窗口的行為—窗口對象的方法(1)關(guān)于“alert”、“confirm”和“prompt”函數(shù)在前面的章節(jié)中已經(jīng)做了詳細(xì)介紹。其實這些函數(shù)都是窗口對象的方法。因為在JavaScript中“w
3、indow”對象可以省略不寫,因此看上去好像是直接調(diào)用了一個函數(shù)來完成這些工作。(2)窗口對象的“close”方法可以用來關(guān)閉窗口。在InternetExplorer瀏覽器中,對于由原瀏覽器窗口點(diǎn)擊鏈接,或通過腳本打開的窗口,調(diào)用“close”方法時窗口可以直接關(guān)閉。但如果是通過雙擊桌面圖標(biāo)等方式打開的新窗口,在試圖使用腳本關(guān)閉時會出現(xiàn)提示,詢問是否同意關(guān)閉當(dāng)前窗口,(3)“execScript”方法有點(diǎn)類似于“eval”函數(shù),兩者都是將一段字符串作為腳本代碼來解釋執(zhí)行,但兩者間也有著很大的不同。8.3打開一個新窗口—窗口的“open”方法詳解窗口的“open”方法是窗口對象一個非常常
4、用的方法。其作用是打開一個新的窗口。該方法接受三個參數(shù),其調(diào)用的語法為:open([sURL][,sName][,sFeatures][,bReplace]);8.3.1“open”方法的參數(shù)說明參數(shù)“sURL”是字符型變量,可選,指定新打開的窗口應(yīng)當(dāng)裝載頁面的URL,缺省時打開一個空白的窗口。參數(shù)“sName”是字符型變量,可選,指定打開窗口的名稱。需要注意的是,這里的窗口名稱不同于窗口標(biāo)題欄中的標(biāo)題。瀏覽器窗口的名稱是窗口對象的一個屬性。比如瀏覽者在點(diǎn)擊下面的鏈接時:點(diǎn)我啊會打開一個新的瀏覽器窗口,該窗
5、口的名稱就是“TheWinName”。在調(diào)用窗口對象的“open”方法時,如果給出了“sName”參數(shù),且名為“sName”的窗口已經(jīng)存在,則瀏覽器會將地址為“sURL”的頁面裝載入該窗口中。如果“sName”缺省,或者名為“sName”的窗口不存在,則會打開一個新的窗口。8.3.2檢測彈窗動作是否被攔截值得注意的是,隨著瀏覽器的發(fā)展,未經(jīng)過用戶允許的彈出窗口行為被認(rèn)為是不友好的,因而常常被瀏覽器(如IE6.0+WindowsXP2或更高版本),或瀏覽器的插件攔截,無法完成打開新窗口的目的。為了檢測打開的新窗口是否被攔截,可以使用前面章節(jié)中提及的錯誤捕獲機(jī)制。代碼.htm是一個可以根據(jù)
6、瀏覽器行為不同而改變的頁面。8.3.3色彩選擇器—“open”方法的應(yīng)用在使用窗口對象A的“open”方法打開新窗口B后,新窗口B的“opener”屬性被設(shè)置為指向窗口A。也就是說,可以在窗口B中使用腳本來控制原窗口。代碼.htm是一個利用該特性的例子,其效果是一個色彩選擇器。代碼-color_dialog.htm是色彩選擇器的對話框。8.4在網(wǎng)頁中使用自定義的對話框除了窗口的“open”方法外,JavaScript還提供了另外3種彈出窗口的形式,分別是:窗口的“createPopup”方法,用于建立一個彈出式窗體;窗口的“showModalDialog”方法,用于建立一個模式對話框;
7、窗口的“showModelessDialog”方法,用于建立一個非模式對話框。8.4.1模擬Windows幫助效果—彈出式窗體的應(yīng)用“createPopup”方法的使用語法是:oPopup=window.createPopup();該方法返回一個彈出式窗體對象。該彈出窗體初始化的時候狀態(tài)是隱藏不可見的。在顯示彈出式窗體的時候,原窗體的已有焦點(diǎn)的元素不會失去焦點(diǎn),因此也不會激發(fā)“onblur”事件。代碼.htm是一個彈出式窗體的應(yīng)用示例。8.4.