91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript窗口功能指南之檢查一個窗口是否存在 (轉)

發布時間:2020-08-10 18:43:22 來源:ITPUB博客 閱讀:223 作者:a400 欄目:編程語言
JavaScript窗口功能指南之檢查一個窗口是否存在 (轉)[@more@]Javascript窗口功能指南之檢查一個窗口是否存在
(作者:聽風編譯 2001年01月19日 11:35)

  當你創建一個新窗口時,給open()方法的返回值分配一個變量非常重要。比如,下面的語句創建一個新窗口,然后立即關閉它:

  win = window.open("http://www.docjs.com/", "js");

  win.close();

Window對象
  每一個瀏覽器窗口都與一個清楚地window對象對應,所以,當你想引用當前窗口時,你應該使用window對象。下面的語句設置當前窗口的URL:

  window.location.;

  當你在腳本程序中放置這樣一個語句時,你不需要指定window對象,因為當前窗口的存在是默認的:

  location.;

  注意,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()方法,你就可以通過webreference.com/js/column6/object.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 屬性
  由于Javascript的第一個版本,瀏覽器窗口成為一個非常困難的問題。比如,一個window對象的一些方法,例如close(),即使當窗口已經關閉時也能被執行,同時另外一些卻不能(比如moveTo())。但是情況會更糟。Inte.NET 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)。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙南县| 合肥市| 水富县| 沽源县| 响水县| 汤原县| 沛县| 景洪市| 巫溪县| 临潭县| 湖南省| 新民市| 隆子县| 内黄县| 阳春市| 红河县| 涡阳县| 长白| 巴彦县| 乌兰察布市| 海盐县| 张家界市| 五峰| 辽阳市| 即墨市| 土默特右旗| 吴堡县| 雷波县| 宜昌市| 济宁市| 潮安县| 苏尼特左旗| 三都| 永平县| 申扎县| 怀集县| 新建县| 乌海市| 郸城县| 达拉特旗| 乳源|