第四に、ブラウザオブジェクトモデルBOM


第四章ブラウザオブジェクトモデルBOM
一、BOM紹介
(一)BOM:ブラウザオブジェクトモデル、browser object model
(二)BOMにより,開発者はウィンドウを移動し,ステータスバーテキストを変更し,ページ内容に直接関係のない他の動作(Cookieのサポート)を実行することができる.
 
二、windowオブジェクト
(一)ウィンドウ操作moveTo moveBy resizeBy resizeTo(この関数は負数を使用できない)
(二)open/close
var winName = window.open("url","name","feature");winName.close();
2つのopenウィンドウ名が同じ場合、つまり同じ新しいウィンドウで開きます.
var winName1 = window.open("url","name","feature");
var winName2 = window.open("url","name","feature");
(三)ダイアログalert confirm prompt
confirm("sure?");
prompt("test","haha");
(四)ステータスバーwindow.status
(五)時間の一時停止と間隔
1. setTimeout() 
2. setInterval()
3.最初のパラメータは、evalのようなコード列であってもよいし、関数ポインタであってもよい
例えば、settTimeout(「tt()」、1000);setTimeout(tt,1000);
ステータスバースクロールテキスト
//   
var str = "                       !";
var tmp = str;
function showStatus(){
if(str.slice(0,1)==" "){
str = str.slice(1,str.length);
window.status = str;
}else{
window.status = tmp;
str = tmp;
} 
}
setInterval(showStatus,200);
 
(六)歴史go(-1)/go(1)
 
三、locationオブジェクト
document.URL = location.href==>現在のページを取得または設定するURLを表します
 
四、navigator
navigator.userAgent判断ブラウザ
ブラウザが完備していると判断したJSコードを抜粋
function browser() {
    var A = function() {
        var B = navigator.userAgent.toLowerCase(),
        D = function(F, G) {
            if (!F.className) {
                F.className = G
            } else {
                var E = F.className;
                E += (" " + G);
                F.className = E
            }
        },
        C = function(E) {
            return (B.indexOf(E) != -1)
        };
        D(document.getElementsByTagName("html")[0], [(!(/opera|webtv/i.test(B)) && /msie (\d)/.test(B)) ? ("ie ie" + RegExp.$1) : C("firefox/2") ? "gecko ff2": C("firefox/3") ? "gecko ff3": C("gecko/") ? "gecko": C("chrome/") ? "chrome": C("opera/9") ? "opera opera9": /opera (\d)/.test(B) ? "opera opera" + RegExp.$1: C("konqueror") ? "konqueror": C("applewebkit/") ? "webkit safari": C("mozilla/") ? "gecko": "", (C("x11") || C("linux")) ? " linux": C("mac") ? " mac": C("win") ? " win": ""].join(" "))
    } ()
}
if (window.addEventListener) {
    window.addEventListener("load", browser, false)
} else {
    if (window.attachEvent) {
        window.attachEvent("onload", browser)
    }
};
 
五、screen
window.moveTo(0,0);
window.resizeTo(screen.availWidth,screen.availHeight);