JavaScript視窗功能指南之發揮視窗特徵 (轉)
JavaScript視窗功能指南之發揮視窗特徵 (轉)[@more@]script視窗功能指南之發揮視窗特徵
(作者:聽風編譯 2001年01月19日 11:35)
在前面一節中,我們全面接觸了提供的視窗特徵。許多這些特徵是基於特殊的,就是說它們不可能同時在Inte Explorer和Navigator中工作。在這一節中,我們將探索幾個有趣的方面,以及一些有用的技巧。
指定視窗尺度
我們使用引數height、 width、 innerHeight 以及 innerWidth來定義新視窗的尺度。Internet Explorer支援height和width,Navigator則使用innerHeight和innerWidth。Navigator也支援outerHeight和outerWidth特徵,它們指定了視窗外圍邊界的尺度,外圍邊界包括標題欄、捲軸以及其他操作元素。在Internet Explorer中,為達到同樣目的,我們使用height、width、innerHeight和innerWidth。每種瀏覽器都將忽略其他特徵,所以當建立新視窗時,就可以定義所有的4個。
window.open("dimensions.html", "_blank", "height=150,innerHeight=150,width=200,innerWidth=200");
如果在你的機器上有2種瀏覽器,你可以比較一下JavaScript的不同視窗尺度特徵。
開啟一個全螢幕視窗
Internet Explorer支援fullscreen屬性,使用它可以建立一個覆蓋全屏的視窗,而不必考慮顯示器的實際尺寸。看看下面的例子:
讓我們看看它是怎樣工作的。首先,我們給全域性變數str分配一個初始數值,它指定了新視窗位於螢幕的左上角。不要擔心這個字串,在本節稍候將解釋它的含義。下一個語句檢查瀏覽器是否支援screen。如果不支援,我們就使用resizable特徵從而可以手工地改變新視窗的大小,最終適應整個螢幕。但是如果瀏覽器是支援screen物件的,那麼就可以充分利用screen.vavilHeight和screen.vavilWidth來決定系統螢幕上工作區域的高度和寬度,包括任何系統元素,比如工作列。由於height、width、innerHeight以及innerWidth等特徵不能精確說明視窗邊界,所以必須要減去大概象素的數值。
如果想充分利用瀏覽器的fullscreen特徵,僅僅加入下面的指令碼就可以:
var str = "left=0,screenX=0,top=0,screenY=0,fullscreen";
我們不需要檢查瀏覽器是否為Internet Explorer,因為當fullscreen特徵定義後,其他特徵就被忽略。
定義視窗座標
我們將使用left、top、screenX和screenY引數來指定新視窗的座標。Internet Explorer支援left和top,Navigator則使用screenX和screenY。
window.open("", "_blank", "left=20,screenX=20,top=40,screenY=40");
記住,left應該總是與screenX一起定義,top與screenY一起定義。如果你使用過這些特徵,你會發現Navigator同樣支援left和top。然而,這是一個未公開的操作,所以你不要依賴於此(因為未來的Navigator版本也許不再支援它)。而且,如果對於left和screenX指定了不同的數值,Navigator將使用分配給screenX的數值。同樣,如果指定了screenY,Navigator將忽視top。
記住,這些特徵都是以象素為單位的,並且以螢幕的左上角為基點。即使你在中window.open()方法,指定的值依然以螢幕的邊界為準。
開啟一個居中的視窗
現在你瞭解瞭如何放置一個新視窗,下面再新增一些演算法。下面的指令碼程式開啟一個居中的視窗:
這段指令碼程式非常類似於全螢幕視窗的指令碼程式。它使用了screen.availHeight和screen.availWidth屬性,同時加上新視窗的期待尺寸,最終計算出視窗左上角的精確位置。如果你很難理解(aw-width)/2的含義,請看看下面的算式:
(aw / 2) - (width / 2)
如你所見,它們是一樣的,就是從螢幕的中央減去視窗寬度的一半。同樣的演算法應用於視窗的垂直座標。
向後相容的連結
當我們編寫一個指令碼程式時,考慮到那些不能使用JavaScript的使用者是非常重要的,這常常發生在使用者遮蔽掉瀏覽器中JavaScript功能的情況下。當這種情況發生時,我們應該仍然能夠使用HTML裝載一個視窗。看看下面的連結:
Doc JavaScript
這開啟了一個名為win的視窗,在其中裝載定義的URL。下面的連結使用了JavaScript完成同樣的目的:
Doc JavaScript
基於JavaScript的連結建立了一個簡單的視窗,它有一個狀態列,但是不包括其他預設元素(比如工具欄)。然而前面的HTML連結開啟的視窗是一個預設的瀏覽器視窗。2種方法實現了同樣的目的。使用JavaScript,我們可以控制新視窗的外觀,但是如果瀏覽器不支援JavaScript,這樣的連結就沒有用了。所以,我們合併這些連結:
Doc JavaScript
如果JavaScript是啟用的,在裝載HREF屬性定義的URL前,瀏覽器就onClick事件處理程式。由於這個事件處理程式返回false,瀏覽器將忽略HREF屬性,就好像使用者根本沒有點選連結。事實上,語句return false簡單地中止了“點選”。如果瀏覽器不支援JavaScript,那麼就不會執行onClick事件處理程式,因此,象其他HTML連結一樣,指定的URL被裝載。
(作者:聽風編譯 2001年01月19日 11:35)
在前面一節中,我們全面接觸了提供的視窗特徵。許多這些特徵是基於特殊的,就是說它們不可能同時在Inte Explorer和Navigator中工作。在這一節中,我們將探索幾個有趣的方面,以及一些有用的技巧。
指定視窗尺度
我們使用引數height、 width、 innerHeight 以及 innerWidth來定義新視窗的尺度。Internet Explorer支援height和width,Navigator則使用innerHeight和innerWidth。Navigator也支援outerHeight和outerWidth特徵,它們指定了視窗外圍邊界的尺度,外圍邊界包括標題欄、捲軸以及其他操作元素。在Internet Explorer中,為達到同樣目的,我們使用height、width、innerHeight和innerWidth。每種瀏覽器都將忽略其他特徵,所以當建立新視窗時,就可以定義所有的4個。
window.open("dimensions.html", "_blank", "height=150,innerHeight=150,width=200,innerWidth=200");
如果在你的機器上有2種瀏覽器,你可以比較一下JavaScript的不同視窗尺度特徵。
開啟一個全螢幕視窗
Internet Explorer支援fullscreen屬性,使用它可以建立一個覆蓋全屏的視窗,而不必考慮顯示器的實際尺寸。看看下面的例子:
讓我們看看它是怎樣工作的。首先,我們給全域性變數str分配一個初始數值,它指定了新視窗位於螢幕的左上角。不要擔心這個字串,在本節稍候將解釋它的含義。下一個語句檢查瀏覽器是否支援screen。如果不支援,我們就使用resizable特徵從而可以手工地改變新視窗的大小,最終適應整個螢幕。但是如果瀏覽器是支援screen物件的,那麼就可以充分利用screen.vavilHeight和screen.vavilWidth來決定系統螢幕上工作區域的高度和寬度,包括任何系統元素,比如工作列。由於height、width、innerHeight以及innerWidth等特徵不能精確說明視窗邊界,所以必須要減去大概象素的數值。
如果想充分利用瀏覽器的fullscreen特徵,僅僅加入下面的指令碼就可以:
var str = "left=0,screenX=0,top=0,screenY=0,fullscreen";
我們不需要檢查瀏覽器是否為Internet Explorer,因為當fullscreen特徵定義後,其他特徵就被忽略。
定義視窗座標
我們將使用left、top、screenX和screenY引數來指定新視窗的座標。Internet Explorer支援left和top,Navigator則使用screenX和screenY。
window.open("", "_blank", "left=20,screenX=20,top=40,screenY=40");
記住,left應該總是與screenX一起定義,top與screenY一起定義。如果你使用過這些特徵,你會發現Navigator同樣支援left和top。然而,這是一個未公開的操作,所以你不要依賴於此(因為未來的Navigator版本也許不再支援它)。而且,如果對於left和screenX指定了不同的數值,Navigator將使用分配給screenX的數值。同樣,如果指定了screenY,Navigator將忽視top。
記住,這些特徵都是以象素為單位的,並且以螢幕的左上角為基點。即使你在中window.open()方法,指定的值依然以螢幕的邊界為準。
開啟一個居中的視窗
現在你瞭解瞭如何放置一個新視窗,下面再新增一些演算法。下面的指令碼程式開啟一個居中的視窗:
這段指令碼程式非常類似於全螢幕視窗的指令碼程式。它使用了screen.availHeight和screen.availWidth屬性,同時加上新視窗的期待尺寸,最終計算出視窗左上角的精確位置。如果你很難理解(aw-width)/2的含義,請看看下面的算式:
(aw / 2) - (width / 2)
如你所見,它們是一樣的,就是從螢幕的中央減去視窗寬度的一半。同樣的演算法應用於視窗的垂直座標。
向後相容的連結
當我們編寫一個指令碼程式時,考慮到那些不能使用JavaScript的使用者是非常重要的,這常常發生在使用者遮蔽掉瀏覽器中JavaScript功能的情況下。當這種情況發生時,我們應該仍然能夠使用HTML裝載一個視窗。看看下面的連結:
Doc JavaScript
這開啟了一個名為win的視窗,在其中裝載定義的URL。下面的連結使用了JavaScript完成同樣的目的:
Doc JavaScript
基於JavaScript的連結建立了一個簡單的視窗,它有一個狀態列,但是不包括其他預設元素(比如工具欄)。然而前面的HTML連結開啟的視窗是一個預設的瀏覽器視窗。2種方法實現了同樣的目的。使用JavaScript,我們可以控制新視窗的外觀,但是如果瀏覽器不支援JavaScript,這樣的連結就沒有用了。所以,我們合併這些連結:
Doc JavaScript
如果JavaScript是啟用的,在裝載HREF屬性定義的URL前,瀏覽器就onClick事件處理程式。由於這個事件處理程式返回false,瀏覽器將忽略HREF屬性,就好像使用者根本沒有點選連結。事實上,語句return false簡單地中止了“點選”。如果瀏覽器不支援JavaScript,那麼就不會執行onClick事件處理程式,因此,象其他HTML連結一樣,指定的URL被裝載。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988296/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript視窗功能指南之操縱視窗 (轉)JavaScript
- JavaScript視窗功能指南之命名視窗和框架 (轉)JavaScript框架
- JavaScript視窗功能指南之定製新視窗 (轉)JavaScript
- JavaScript視窗功能指南之建立彈出視窗 (轉)JavaScript
- JavaScript視窗功能指南之檢查一個視窗是否存在 (轉)JavaScript
- JavaScript視窗功能指南之在視窗中書寫內容 (轉)JavaScript
- JavaScript視窗功能指南之建立對話方塊 (轉)JavaScript
- JavaScript - 視窗之OpenJavaScript
- JavaScript - 模式視窗和非模式視窗JavaScript模式
- Javascript自動關閉視窗(轉)JavaScript
- 利用BCB編寫具有"磁性"特徵的視窗 (轉)特徵
- javascript如何在彈出視窗給父視窗賦值JavaScript賦值
- 工作列視窗以及其子視窗結構 (轉)
- JavaScript 視窗抖動效果JavaScript
- <轉>“您檢視的網頁正在試圖關閉視窗。是否關閉此視窗”的遮蔽方法(JavaScript)網頁JavaScript
- Go Qt5 建立空白視窗、視窗居中及關閉視窗事件GoQT事件
- 討論關閉子視窗,重新整理父視窗(非模式視窗)模式
- Android視窗管理分析(2):WindowManagerService視窗管理之Window新增流程Android
- Windows API視窗程式設計 - 空白視窗WindowsAPI程式設計
- Tutorials 使用視窗功能分析資訊
- 視窗事件事件
- javascript如何關閉當前視窗JavaScript
- javascript獲取window視窗的尺寸JavaScript
- jQuery在子視窗如何操作父視窗元素jQuery
- JS彈出視窗視窗的位置和大小JS
- PyQt5 之視窗居中QT
- TCP之擁塞視窗原理TCP
- 子視窗控制元件(轉)控制元件
- Linux 文件與視窗(轉)Linux
- C# winForm 視窗跳轉後關閉上一個視窗的方法C#ORM
- js如何在子視窗中關閉父視窗JS
- 廣告彈窗/小視窗程式碼
- Qt視窗居中QT
- 視窗函式函式
- 在不把視窗設定成當前視窗的條件下,對視窗進行操作。
- js實現window.open()彈出視窗和父視窗之間相互操作JS
- Javascript跳轉頁面和開啟新視窗等方法JavaScript
- PyQt5 之關閉視窗QT