1. 程式人生 > >(7)JavaScript-BOM

(7)JavaScript-BOM

禁用 number 變量 == log 垂直 容器 rip 可能

window 對象

全局作用域

在瀏覽器中, window 對象有雙重角色,它既是通過 JavaScript 訪問瀏覽器窗口的一個接口,又是 ECMAScript 規定的 Global 對象。

所有在全局作用域中聲明的變量、函數都會變成 window 對象的屬性和方法

var age = 29;
function sayAge(){
alert(this.age);
}
alert(window.age); //29
sayAge(); //29
window.sayAge(); //29

窗口關系及框架

。。

窗口位置

使用下列代碼可以跨瀏覽器取得窗口左邊和上邊的位置

var leftPos = (typeof
window.screenLeft == "number") ? window.screenLeft : window.screenX; var topPos = (typeof window.screenTop == "number") ? window.screenTop : window.screenY;

moveTo()接收的是新位置的 x y 坐標值,而 moveBy()接收的是在水平和垂直方向上移動的像素數

//將窗口移動到屏幕左上角
window.moveTo(0,0);
//將窗向下移動 100 像素
window.moveBy(0,100);
//將窗口移動到(200,300)
window.moveTo(200,300);
//將窗口向左移動 50 像素 window.moveBy(-50,0)

需要註意的是,這兩個方法可能會被瀏覽器禁用 ,另外,這兩個方法都不適用於框架,只能對最外層的 window 對象使用

窗口大小

outerWidth 和 outerHeight 返回瀏覽器窗口本身的尺寸
innerWidth 和 innerHeight則表示該容器中頁面視圖區的大小(減去邊框寬度)

使用 resizeTo()和 resizeBy()方法可以調整瀏覽器窗口的大小

其中 resizeTo()接收瀏覽器窗口的新寬度和新高度,而 resizeBy()接收新窗口與原窗口的寬度和高度之差

//調整到 100× 100
window.resizeTo(100, 100);
//調整到 200× 150 window.resizeBy(100, 50); //調整到 300× 300 window.resizeTo(300, 300);

這兩個方法可能會被瀏覽器禁用 ,另外,這兩個方法都不適用於框架,只能對最外層的 window 對象使用

導航和打開窗口

window.open()方法可以導航到一個特定的 URL,也可以打開一個新的瀏覽器窗口可以接收 4 個參數:
1.要加載的 URL
2.窗口目標
3.一個特性字符串
4.一個表示新頁面是否取代瀏覽器歷史記錄中當前加載頁面的布爾值

通常只須傳遞第一個參數,最後一個參數只在不打開新窗口的情況下使用

(7)JavaScript-BOM