JavaScript 語法 流程控制 Function (函數) Object (物件) 數值 布林值 字串 陣列 時間和日期 Math 物件
正規表示式 瀏覽器物件模型 BOM JS DOM HTML DOM CSS樣式 & Event

瀏覽器物件模型 (BOM - Browser Object Model)

JavaScript 瀏覽器物件模型 (BOM - Browser Object Model)

瀏覽器物件模型 (BOM, Browser Object Model) 是瀏覽器提供的物件,讓你可以透過 JavaScript 直接跟瀏覽器溝通或做操作。
瀏覽器物件模型 其實沒有一個統一標準,但現代瀏覽器都有提供以下的物件讓你做操作:
window: 讓你可以存取操作瀏覽器視窗
屬性(properties):
    window.innerWidth
    window.innerHeight
    window.outerWidth
    window.outerHeight
方法(methods):
    window.open()
    window.close()
    window.moveTo()
    window.moveBy()
    window.resizeTo()

screen: 讓你可以存取使用者的螢幕畫面資訊 screen.width  screen.height  screen.availWidth  screen.availHeight
                        
location: 讓你可以存取操作頁面的網址 (URL)
屬性(properties):
    location.href
    location.hostname
    location.pathname
    location.search
    location.hash
方法(methods):
    location.href
    location.assign()
    Location.reload()
    location.replace()

history: 讓你可以操作瀏覽器的上一頁、下一頁
屬性(properties):
    history.length
方法(methods):
    history.back()
    history.forward()
    history.go()

navigator: 讓你可以存取使用者的瀏覽器資訊

Popup: 讓你可以使用瀏覽器內建的 彈跳視窗
JavaScript 提供三個方法 alert(), confirm(), prompt() 讓你可以使用瀏覽器內建的對話視窗。
    alert()   用來跳出提示 (警告) 對話視窗。     
    confirm() 用來跳出需要使用者確認的對話視窗,對話視窗中會有確定及取消兩個按鈕。   
    prompt()  用來跳出一個文字輸入的對話視窗。

Timer: 讓你可以使用瀏覽器內建的計時器, JavaScript 提供幾個方法讓你可以使用瀏覽器內建的計時器。
    setTimeout() 用來設定一段時間過後,自動執行某個函數(callback),這計時器只會執行一次就停止。
    clearTimeout()用來取消 setTimeout() 的執行。
    setInterval()設定每過一段時間,就自動執行某個函數(callback),這計時器會永遠一直執行下去。
    clearInterval()用來取消 setInterval() 的執行。

cookie: 讓你可以管理瀏覽器的 cookie
瀏覽器 (browser) 的 cookie 可以用來儲存一些使用者的連線資料,例如儲存使用者登入狀態的 session 資料。
cookie 會一直儲存在使用者的瀏覽器中,直到你指定的失效日期為止,不論 server端或使用者 (瀏覽器)端都可以讀取和寫入 cookie 資料。
在使用者端我們可以用 JavaScript 來管理瀏覽器的 cookie,而不論是讀取或是寫入 cookie 都是統一使用 document.cookie 物件