JavaScript(BOM)のwindowオブジェクト

3301 ワード

winddwoオブジェクト
1グローバルスコープ
windowはGlobalの一員であるため、グローバルスコープで宣言された変数や関数はwindowで入手できます.
var age = 29;
function getAge(){
    alert(this.age);
}

alert(window.age);      //29
sayAge();               //29
windwo.sayAge();        //29
ここで注意します.winddwo.sayAge()は、windowを通じて直接に呼び出すsayAgeです.
2ウィンドウ関係とフレームワーク
ページに枠が含まれていれば、フレームごとに自分のwindowオブジェクトを持ち、兵器はフレームのセットに保存されます.framesでは、ほぼ数値インデックス(0から始まり、左から右、上から下)またはフレーム名で応答するwindowオブジェクトにアクセスすることができます.各windowオブジェクトにはname属性があります.その中にフレームの名前が含まれています.実はここで言っているフレームはフレームワークです.正直に言うと、普通の仕事ではこれを使うところが少ないので、詳しく紹介しません.
3ウィンドウの位置
ブログでよく見られるscreanLeft、screantop、screanX、screanyは大部分の主流ブラウザをサポートします.しかし、OperaではscreanLeft、screanTop属性は対応していません.screanX、screanyは、別のブラウザで戻ってくるデータも違っています.だからブラウザを自慢する時は正確な座標が得られません.moveTo()とmoveBy()の方法を使用して、ウィンドウを新しい位置に正確に移動できます.
//           
window.moveTo(0, 0);
//       100px
window.moveBy(0, 100);
//      200,300
window.moveTo(200,300);
//       50px
window.moveBy(-50, 0);
4ウィンドウサイズ
ブラウザをまたいでウィンドウのサイズを取るのは難しいです.inner Width、innerHeight、outerWidth、outerHeightは互換性がないからです.
var pageWidth = window.innerWidth;
var pageHeight = window.innerHeight;

if(typeof pageWidth != "number"){
    if(document.comaptMode == "CSS1Compage"){
        pageWidth = documet.documentElement.clientWidth;
        pageHeight = dicument.documentElement.clientWidth;
    } else {
        pageWidth = document.body.clientWidth;
        pageHeight = document.body.clientHeight;
    }
}
標準モードでは、documet.documentElement.client Widthが有効となります.ブラウザが混雑モードにある場合は、Dcument.body.client Widthが一番良い選択です.resizett()とresizeBy()は、ブラウザウィンドウのサイズを調整することができます.ブラウザウィンドウの新しい幅と高さを受信します.新しいウィンドウと元のウィンドウの高さは差のみです.
//   100 * 100
window.resizeTo(100, 100);
//   200 * 150
window.resizeBy(100, 50);
5ナビゲーションとウィンドウを開く
window.openは以下のパラメータを受け取ることができます.
key
value
説明
height
数値
新しいウィンドウの高さは、100以下ではありません.
left
数値
新しいウィンドウの左座標は、0より小さくしてはいけません.
トップ
数値
新しいウィンドウの座標は0以下ではいけません.
width
数値
新しいウィンドウの幅は100以下ではいけません.
location
yesまたはno
ブラウザウィンドウにアドレスバーを表示するかどうか
menuar
yesまたはno
ブラウザウィンドウにメニューバーを表示するかどうか
resizable
yesまたはno
ブラウザウィンドウの枠をドラッグしてサイズを変更できますか?
scrollbars
yesまたはno
内容の展示ができません.スクロールが許可されていますか?
status
yesまたはno
ブラウザウィンドウにステータスバーを表示するかどうか
left
yesまたはno
ブラウザウィンドウにツールバーを表示するかどうか
6間欠呼び出しとタイムアウト呼び出し
JavaScriptはシングルスレッド言語ですが、時間を設定することによって方法が実行されるかどうかを制御できます.
// 1s      
setTimeout(function(){
    alert("Hello")
}, 1000);


timeoutId =setTimeout(function(){
    alert("Hello")
}, 1000);
//  setTimeout   id     
clearTimeout(timeoutId)
//
もう一つのよく使う方法があります.set Interval()
// 10s    
setInterval (function(){
    alert("Hell0");
} ,10000);
7システムダイアログ
ブラウザは、alert()、confirm()、prompt()を通じてシステムダイアログを呼び出してユーザに情報を表示します.
if (confirm("Are you sure?")){
    alert("I'm so glad you're sure!");
} else{
    alert("No");
}

var result = prompt("what's your name?","");
if (result != null){
    alert("Welcome, " + result)
}


//  “  ”   
window.print();
//  “  ”   
window.find();