JavaScript視窗功能指南之檢查一個視窗是否存在 (轉)
JavaScript視窗功能指南之檢查一個視窗是否存在 (轉)[@more@]script視窗功能指南之檢查一個視窗是否存在
(作者:聽風編譯 2001年01月19日 11:35)
當你建立一個新視窗時,給open()方法的返回值分配一個變數非常重要。比如,下面的語句建立一個新視窗,然後立即關閉它:
win = window.open("", "js");
win.close();
Window
每一個視窗都與一個清楚地window物件對應,所以,當你想引用當前視窗時,你應該使用window物件。下面的語句設定當前視窗的URL:
window.location.href = "";
當你在指令碼中放置這樣一個語句時,你不需要指定window物件,因為當前視窗的存在是預設的:
location.href = "";
注意,self等價於window,所以,self.close()實際上就等於window.close()。
當你想操縱一個視窗時,你必須確認它是存在的。在為window.open()方法定義一個變數時,要將它定義為全域性變數並設定為null。記住,open()方法返回新視窗的window物件。這裡是一個例子:
var win = null;
function launchWindow() {
win = window.open();
// statements that refer to the new window go here
}
如果你想對新視窗一個操作,你首先應該檢查變數win是否為null:
// if win exists, move the window
if (win) win.moveTo(0, 0);
注意,null等於false,同時任何其他合法的物件等價於true。如果win等於true,你就知道了它不是null,這意味著新視窗成功地建立了。
open "屬性"
現在你知道了瀏覽器實際建立了新視窗。但是它仍然存在嗎?不是必須的。你需要確認可用的視窗的確擁有一個真正的window物件。既然每個window物件對應於一個open()方法,你就可以透過reference.com/js/column6/.html" target=_blank>物件探測檢查到這個方法:
// 如果win.open存在,就移動視窗
if (win.open) win.moveTo(0, 0);
變數win對照視窗的window物件,所以win.open對應window的window.open方法。注意,條件是一個引用,不是一個函式。除非你確認win存在,你不應該試圖估計win.open。下面的語句描述了正確的執行方法:
// if win and win.open exist, move the window
if (win && win.open) win.moveTo(0, 0);
由於&&是一個短運算子號,如果第一個引數(win)對應於true,那麼結果就取決於第二個數值。如果第二個引數是false,那麼整個表示式結果就是false。這是一個很重要的行為,因為如果win不存在,那麼表示式win.open就會產生一個錯誤。
closed 屬性
由於的第一個版本,瀏覽器視窗成為一個非常困難的問題。比如,一個window物件的一些方法,例如close(),即使當視窗已經關閉時也能被執行,同時另外一些卻不能(比如moveTo())。但是情況會更糟。Inte Explorer和Navigator經常有不同的行為。而且,預測一定操作的結果經常是非常困難的,即使你以前已經做過類似的嘗試。我們將告訴你如何克服這些困難,方法就是介紹一個在交叉瀏覽器中能應用的語句,它將檢查一個給定的視窗是否被開啟。
window.closed屬性是一個Boolean型數值,它定義了是否視窗已經被關閉。當視窗被關閉時,window物件依然存在,並且它的closed屬性已經被設定為true。
使用closed來判斷開啟的視窗以及仍能夠被引用(從window.open方法返回的數值)的視窗是否仍然開啟著。當視窗關閉時,你不應該試圖再操縱它。因為window.closed僅僅被Internet Explorer 4、Navigator 3 和高版本所支援,所以你應該注意前面的版本問題。我們將使用下面的程式碼:
// if win and win.open exist, and win.closed isn't true, move the window
if (win && win.open && !win.closed) win.moveTo(0, 0);
Internet Explorer 3 和 Navigator 2 不支援 closed 方法,所以它在Boolean型表示式中等價於false (就像其他不存在地屬性一樣,比如 window.tomershiran)。
(作者:聽風編譯 2001年01月19日 11:35)
當你建立一個新視窗時,給open()方法的返回值分配一個變數非常重要。比如,下面的語句建立一個新視窗,然後立即關閉它:
win = window.open("", "js");
win.close();
Window
每一個視窗都與一個清楚地window物件對應,所以,當你想引用當前視窗時,你應該使用window物件。下面的語句設定當前視窗的URL:
window.location.href = "";
當你在指令碼中放置這樣一個語句時,你不需要指定window物件,因為當前視窗的存在是預設的:
location.href = "";
注意,self等價於window,所以,self.close()實際上就等於window.close()。
當你想操縱一個視窗時,你必須確認它是存在的。在為window.open()方法定義一個變數時,要將它定義為全域性變數並設定為null。記住,open()方法返回新視窗的window物件。這裡是一個例子:
var win = null;
function launchWindow() {
win = window.open();
// statements that refer to the new window go here
}
如果你想對新視窗一個操作,你首先應該檢查變數win是否為null:
// if win exists, move the window
if (win) win.moveTo(0, 0);
注意,null等於false,同時任何其他合法的物件等價於true。如果win等於true,你就知道了它不是null,這意味著新視窗成功地建立了。
open "屬性"
現在你知道了瀏覽器實際建立了新視窗。但是它仍然存在嗎?不是必須的。你需要確認可用的視窗的確擁有一個真正的window物件。既然每個window物件對應於一個open()方法,你就可以透過reference.com/js/column6/.html" target=_blank>物件探測檢查到這個方法:
// 如果win.open存在,就移動視窗
if (win.open) win.moveTo(0, 0);
變數win對照視窗的window物件,所以win.open對應window的window.open方法。注意,條件是一個引用,不是一個函式。除非你確認win存在,你不應該試圖估計win.open。下面的語句描述了正確的執行方法:
// if win and win.open exist, move the window
if (win && win.open) win.moveTo(0, 0);
由於&&是一個短運算子號,如果第一個引數(win)對應於true,那麼結果就取決於第二個數值。如果第二個引數是false,那麼整個表示式結果就是false。這是一個很重要的行為,因為如果win不存在,那麼表示式win.open就會產生一個錯誤。
closed 屬性
由於的第一個版本,瀏覽器視窗成為一個非常困難的問題。比如,一個window物件的一些方法,例如close(),即使當視窗已經關閉時也能被執行,同時另外一些卻不能(比如moveTo())。但是情況會更糟。Inte Explorer和Navigator經常有不同的行為。而且,預測一定操作的結果經常是非常困難的,即使你以前已經做過類似的嘗試。我們將告訴你如何克服這些困難,方法就是介紹一個在交叉瀏覽器中能應用的語句,它將檢查一個給定的視窗是否被開啟。
window.closed屬性是一個Boolean型數值,它定義了是否視窗已經被關閉。當視窗被關閉時,window物件依然存在,並且它的closed屬性已經被設定為true。
使用closed來判斷開啟的視窗以及仍能夠被引用(從window.open方法返回的數值)的視窗是否仍然開啟著。當視窗關閉時,你不應該試圖再操縱它。因為window.closed僅僅被Internet Explorer 4、Navigator 3 和高版本所支援,所以你應該注意前面的版本問題。我們將使用下面的程式碼:
// if win and win.open exist, and win.closed isn't true, move the window
if (win && win.open && !win.closed) win.moveTo(0, 0);
Internet Explorer 3 和 Navigator 2 不支援 closed 方法,所以它在Boolean型表示式中等價於false (就像其他不存在地屬性一樣,比如 window.tomershiran)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10790690/viewspace-953602/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript視窗功能指南之操縱視窗 (轉)JavaScript
- JavaScript視窗功能指南之命名視窗和框架 (轉)JavaScript框架
- JavaScript視窗功能指南之定製新視窗 (轉)JavaScript
- JavaScript視窗功能指南之發揮視窗特徵 (轉)JavaScript特徵
- JavaScript視窗功能指南之建立彈出視窗 (轉)JavaScript
- JavaScript視窗功能指南之在視窗中書寫內容 (轉)JavaScript
- JavaScript視窗功能指南之建立對話方塊 (轉)JavaScript
- <轉>“您檢視的網頁正在試圖關閉視窗。是否關閉此視窗”的遮蔽方法(JavaScript)網頁JavaScript
- JavaScript - 視窗之OpenJavaScript
- JavaScript - 模式視窗和非模式視窗JavaScript模式
- JavaScript檢測window.open()彈出視窗是否被攔截JavaScript
- Intersection observer檢測元素是否在視窗內Server
- C# winForm 視窗跳轉後關閉上一個視窗的方法C#ORM
- Javascript自動關閉視窗(轉)JavaScript
- 一文讀懂TDengine的視窗查詢功能
- javascript如何在彈出視窗給父視窗賦值JavaScript賦值
- 工作列視窗以及其子視窗結構 (轉)
- JavaScript 視窗抖動效果JavaScript
- Animator視窗檢視Project檢視PlayerIdleAnimation和PlayerWalkingAnimationProject
- js檢測window.open()彈出視窗是否被關閉JS
- Go Qt5 建立空白視窗、視窗居中及關閉視窗事件GoQT事件
- 討論關閉子視窗,重新整理父視窗(非模式視窗)模式
- Android視窗管理分析(2):WindowManagerService視窗管理之Window新增流程Android
- javascript如何檢測一個圖片是否存在JavaScript
- Windows API視窗程式設計 - 空白視窗WindowsAPI程式設計
- 在列印視窗,列印檢視View的子檢視結構圖View
- Tutorials 使用視窗功能分析資訊
- 視窗事件事件
- javascript如何關閉當前視窗JavaScript
- javascript獲取window視窗的尺寸JavaScript
- Qt的視窗背景及視窗風格統一與煥膚QT
- jQuery在子視窗如何操作父視窗元素jQuery
- JS彈出視窗視窗的位置和大小JS
- PyQt5 之視窗居中QT
- TCP之擁塞視窗原理TCP
- 子視窗控制元件(轉)控制元件
- Linux 文件與視窗(轉)Linux
- 同一個語句在plsql的sql視窗可以執行命令視窗不能執行SQL