搜尋
首頁web前端js教程JavaScript中什麼是Window 物件?什麼是Navigator 物件?

這篇文章帶給大家的內容是介紹JavaScript中什麼是Window 對象,什麼是Navigator 物件。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。 【相關影片教學推薦:JavaScript教學

一、 Window 物件

##1 、Window 物件的屬性

(1)

closed#:傳回視窗是否已關閉。

nbsp;html>


<meta>
<script>
    var myTestWindowdow;
    function openTestWindow(){
        myTestWindowdow=window.open("","","width=200,height=100");
    }
    function closeTestWindow(){
        if (myTestWindowdow){
            myTestWindowdow.close();
        }
    }
    function checkTestWindow(){
        if (!myTestWindowdow){
            document.getElementById("msg").innerHTML="测试窗口没有被打开!";
        }
        else{
            if (myTestWindowdow.closed){
                document.getElementById("msg").innerHTML="测试窗口被关闭!";
            }
            else{
                document.getElementById("msg").innerHTML="测试窗口没有被关闭!";
            }
        }    
    }
</script>


    <input><br>
    <input><br>
    <input><br>
    <div></div>

(2) 

defaultStatus: 設定或傳回視窗狀態列中的預設文字。

  

status: 設定或傳回視窗狀態列的文字。

nbsp;html>


<meta>
<script>
    //设置默认状态栏文本
    window.defaultStatus="我会显示在浏览器的状态栏中! !";
    //设置状态栏文本
    //window.status="我会显示在浏览器的状态栏中! !";
</script>



(3)

frames: 傳回視窗中所有命名的框架。該集合是 Window 物件的數組,每個 Window 物件在視窗中包含框架。

nbsp;html>


<meta>
<script>
    function changeAllframe() {
    var frames = window.frames;
    var i;

    for (i = 0; i < frames.length; i++) {
        frames[i].location = "https://www.baidu.com";
    }
}
</script>


    <button>点我</button><br>
    <iframe></iframe>
    <iframe></iframe>
    <iframe></iframe>

(4)

innerHeight: 傳回視窗的文件顯示區的高度。

     innerWidth: 傳回視窗的文件顯示區的寬度。

nbsp;html>


<meta>
<script>
    function getWidthAndHeight(){
        var w=window.innerWidth;
        var h=window.innerHeight;
        x=document.getElementById("myInfo");
        x.innerHTML="Width: " + w + " Heigth: " + h;
    }
</script>


    <button>获取innerWidth,innerHeight</button><br>
    <div></div>

(5)

localStorage:用於長久保存數據,保存的資料沒有過期時間,直到手動去刪除。

nbsp;html>


<meta>
<script>
    function getClickCount() {
        if(typeof(Storage) !== "undefined") {
            if (localStorage.clickcount) {
                localStorage.clickcount = Number(localStorage.clickcount)+1;
            } else {
                localStorage.clickcount = 1;
            }
            document.getElementById("myInfo").innerHTML = "你已经点击了 " + localStorage.clickcount + " 次。";
        } else {
            document.getElementById("myInfo").innerHTML = "Sorry, your browser does not support web storage...";
        }
    }
</script>


    <button>点击</button><br>
    <div></div>

瀏覽器不支援時:

瀏覽器支援時:

(6 )

length: 傳回在目前視窗中frames的數量。

nbsp;html>


<meta>
<script>
    function getframeCount() {
        document.getElementById("myInfo").innerHTML = "有frame " + frames.length + " 个。";
    }
</script>


    <button>点击</button><br>
    <div></div>
    <iframe></iframe>
    <iframe></iframe>
    <iframe></iframe>

(7)

name: 設定或傳回視窗的名稱。

nbsp;html>


<meta>
<script>
var myWindow;
    function openWin(){
        myWindow=window.open(&#39;&#39;,&#39;myTestWindow&#39;,&#39;width=200,height=100&#39;);
        myWindow.document.write("<p>窗口名称为: " + myWindow.name + "");
    }
</script>


    <button>点击</button><br>

(8)

opener:可傳回建立該視窗的 Window 物件的參考。當使用window.open()開啟一個窗口,您可以使用此屬性返回來自目標窗口來源(父)窗口的詳細資訊。

nbsp;html>


<meta>
<script>
    function openNewWindow(){
        myNewWindow=window.open(&#39;&#39;,&#39;&#39;,&#39;width=200,height=100&#39;);
        myNewWindow.document.write("这是我新打开的窗口");
        myNewWindow.focus();
        myNewWindow.opener.document.write("这个是源窗口");
    }
</script>


    <button>点击</button><br>

(9) 

outerHeight: 傳回視窗的外部高度,包含工具列與捲軸。

      outerWidth:返回視窗的外部寬度,包含工具條與捲軸。

      pageXOffset: 設定或傳回目前頁面相對於視窗顯示區左上角的 X 位置。

     pageYOffset: 設定或傳回目前頁面相對於視窗顯示區左上角的 Y 位置。

nbsp;html>


<meta>
<script>
    function getWidthAndHeight(){
        var ow=window.outerWidth;
        var oh=window.outerHeight;
        var pX=window.pageXOffset;
        var pY=window.pageYOffset;
        x=document.getElementById("myInfo");
        x.innerHTML+="outerWidth: " + ow + " outerHeigth: " + oh+"<br/>";
        x.innerHTML+="pageXOffset: " + pX + " pageYOffset: " + pY+"<br/>";
    }
</script>


    <button>获取</button><br>
    <div></div>

 (10)

parent: 返回父視窗。

nbsp;html>


<meta>
<script>
    function getParentWindow(){
        window.open(&#39;&#39;,&#39;&#39;,&#39;width=200,height=100&#39;);
        alert(window.parent.location);
    }
</script>


    <button>获取</button><br>
    <div></div>

 (11)

screenLeft: 傳回相對於螢幕視窗的x座標。

        screenTop: 傳回相對於螢幕視窗的y座標。

        screnX: 傳回相對於螢幕視窗的x座標。

        screenY: 傳回相對於螢幕視窗的y座標。

nbsp;html>


<meta>
<script>
    function openNewWindow(){
        myNewWindow=window.open(&#39;&#39;,&#39;&#39;);
        myNewWindow.document.write(" 这是新窗口<br/>");
        myNewWindow.document.write(" ScreenLeft: " + myNewWindow.screenLeft +"<br/>");
        myNewWindow.document.write(" ScreenTop: " + myNewWindow.screenTop + "<br/>");
        myNewWindow.document.write(" ScreenX: " + myNewWindow.screenX + "<br/>");
        myNewWindow.document.write(" ScreenY: " + myNewWindow.screenY + "<br/>");
    }
</script>


    <button>获取</button><br>

(12)

sessionStorage: 用於暫時儲存相同視窗(或標籤頁)的數據,在關閉視窗或標籤頁之後將會刪除這些數據。

nbsp;html>


<meta>
<script>
    function getClickCount() {
        if(typeof(Storage) !== "undefined") {
            if (sessionStorage.clickcount) {
                sessionStorage.clickcount = Number(sessionStorage.clickcount)+1;
            } else {
                sessionStorage.clickcount = 1;
            }
            document.getElementById("myInfo").innerHTML = "你已经点击了 " + sessionStorage.clickcount + " 次。";
        } else {
            document.getElementById("myInfo").innerHTML = "Sorry, your browser does not support web storage...";
        }
    }
</script>


    <button>点击</button><br>
    <div></div>

瀏覽器不支援時:

當瀏覽器支援時:

 (13 )

self: 傳回指向目前window 物件的引用,利用這個屬性,可以保證在多個視窗被開啟的情況下,正確呼叫目前視窗內的函數或屬性而不會發生混亂。

   

top: 傳回目前視窗的最頂層瀏覽器視窗。

nbsp;html>


<meta>
<script>
    function check(){
        if (window.top!=window.self) {
            document.write("这个窗口不是最顶层窗口!")
        }
        else{ 
            document.write("这个窗口是最顶层窗口!")
        } 
    }
</script>


    <button>点击</button><br>

2 、Window 对象的方法

(1) alert(): 显示带有一段消息和一个确认按钮的警告框。

   atob(): 解码一个 base-64 编码的字符串。

   btoa(): 创建一个 base-64 编码的字符串。

nbsp;html>


<meta>
<script>
    function myFunction(){
        alert("你好,我是一个警告框!"); //alert方法
        var strA = "Hello world!";
        var btoastr = window.btoa(strA); //btoa() 方法用于创建一个 base-64 编码的字符串。
        var atobstr = window.atob(btoastr); //atob() 方法用于解码使用 base-64 编码的字符串。
        alert("编码字符串为: " + btoastr + "  " + "解码后字符串为: " + atobstr);
    }
</script>


    <button>点击</button><br>

  

(2) blur(): 把键盘焦点从顶层窗口移开。focus(): 把键盘焦点给予一个窗口。

nbsp;html>


<meta>
<script>
    function openWin(){
        myWindow=window.open(&#39;&#39;,&#39;&#39;,&#39;width=200,height=100&#39;);
        myWindow.document.write("The new window");
        myWindow.blur();
        //myWindow.focus();
    }
</script>


    <input>

(3) setInterval(): 按照指定的周期(以毫秒计)来调用函数或计算表达式。

    clearInterval(): 取消由 setInterval() 设置的 timeout。

nbsp;html>


<meta>
<script>
    //setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
    var myVar = setInterval(function(){ myTimer() }, 1000); 

    function myTimer() {
        var d = new Date();
        var t = d.toLocaleTimeString();
        document.getElementById("timeInfo").innerHTML = t;
    }

    function myStopFunction() {
        clearInterval(myVar); //取消由 setInterval() 函数设定的定时执行操作。
    }
</script>


    <button>停止时间</button>
    <p></p>

       

(4) setTimeout(): 在指定的毫秒数后调用函数或计算表达式。

    clearTimeout(): 取消由 setTimeout() 方法设置的 timeout。

nbsp;html>


<meta>
<script>
    var myVar;

    function myFunction() {
        //setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
        myVar = setTimeout(function(){ alert("Hello") }, 3000);
    }

    function myStopFunction() {
        clearTimeout(myVar); //如果alert弹出方法还未执行,我们可以使用 clearTimeout() 来阻止它。
    }
</script>


    <button>设置3秒弹出Hello</button>
    <button>停止弹出</button>

(5)  close(): 关闭浏览器窗口。

  open(): 打开一个新的浏览器窗口或查找一个已命名的窗口。

  createPopup(): 创建一个 pop-up 窗口。

  print(): 打印当前窗口的内容。

nbsp;html>


<meta>
<script>
    var myWindow;
    function openWin(){
        myWindow=window.open(&#39;&#39;,&#39;&#39;,&#39;width=200,height=100&#39;); //打开新窗口
        myWindow.document.write("使用open()方法打开的新窗口");
    }
    function closeWin(){
        myWindow.close(); //关闭新打开的窗口
    }
    function create_Popup(){
        var p=window.createPopup(); //创建一个 pop-up 窗口
        var pbody=p.document.body;
        pbody.style.backgroundColor="lime";
        pbody.style.border="solid black 1px";
        pbody.innerHTML="这是createPopup()弹出";
        p.show(100,100,200,50,document.body);    
    }
    function my_print(){
        window.print(); //调出windows系统的打印机
    }
</script>



    <input><br>
    <input><br>
    <input><br>
    <input><br>

 (6) confirm(): 显示带有一段消息以及确认按钮和取消按钮的对话框。

  prompt(): 显示可提示用户输入的对话框。

nbsp;html>


<meta>
<script>
    function my_prompt(){ 
        var x; 
        var Name=prompt("请输入你的名字","Harry Potter"); 
        if (Name!=null && Name!=""){ 
            document.getElementById("myInfo").innerHTML="你好 " + Name + "! ";
        } 
    }
    function my_confirm(){
        var x;
        var r=confirm("请点击");
        if (r==true){
            x="确定";
        }
        else{
            x="取消";
        }
        document.getElementById("myInfo").innerHTML=x;
    }
</script>



    <input>
    <input><br>
    <div></div>

  

  

(7) getComputedStyle(): 获取指定元素的 CSS 样式。

nbsp;html>


<meta>
<script>
    function my_getComputedStyle(){
        var elem = document.getElementById("myInfo");
        var theCSSprop = window.getComputedStyle(elem, null).getPropertyValue("background-color");
        document.getElementById("myInfo").innerHTML = theCSSprop;
    }
</script>


    <input>
    <div></div>

(8) moveBy(): 可相对窗口的当前坐标把它移动指定的像素。

   moveTo(): 把窗口的左上角移动到一个指定的坐标。

nbsp;html>


<meta>
<script>
    function openWin(){
        myWindow=window.open(&#39;&#39;,&#39;&#39;,&#39;width=200,height=100&#39;);
        myWindow.document.write("这是新窗口");
    }
    function moveByWin(){
        myWindow.moveBy(200,200); //相对窗口的当前坐标把它移动指定的像素
        myWindow.focus();
    }
    function moveToWin(){
        myWindow.moveTo(0,0);//把窗口的左上角移动到一个指定的坐标
        myWindow.focus();
    }
</script>


    <input>
    <input>
    <input>

(9) resizeBy(): 按照指定的像素调整窗口的大小。

  resizeTo(): 把窗口的大小调整到指定的宽度和高度。

nbsp;html>


<meta>
<script>
    var myWindow;
    function openWin(){
        myWindow=window.open(&#39;&#39;,&#39;&#39;,&#39;width=200,height=100&#39;);
        myWindow.document.write("这是新窗口");
    }
    function resizeByWin(){
        myWindow.resizeBy(100,50);
        myWindow.focus();
    }
    function resizeToWin(){
        myWindow.resizeTo(50,30);
        myWindow.focus();
    }
</script>


    <input>
    <input>
    <input>

(10) scrollBy(): 按照指定的像素值来滚动内容。

       scrollTo(): 把内容滚动到指定的坐标。

nbsp;html>


<meta>
<script>
    var myWindow;
    function openWin(){
        myWindow=window.open(&#39;&#39;,&#39;&#39;,&#39;width=50,height=20&#39;);
        myWindow.document.write("-<br/>");
        myWindow.document.write("---<br/>");
        myWindow.document.write("-----<br/>");
        myWindow.document.write("-------<br/>");
        myWindow.document.write("---------<br/>");
        myWindow.document.write("-----------<br/>");
        myWindow.document.write("-------------<br/>");
        myWindow.focus();
    }
    function scrollByWin(){
        myWindow.scrollBy(20,20); //按照指定的像素值来滚动内容
        myWindow.focus();
    }
    function scrollToWin(){
        myWindow.scrollTo(50,50); // 把内容滚动到指定的坐标
        myWindow.focus();
    }
</script>


    <input>
    <input>
    <input>

二、Navigator 对象

1、Navigator 对象的属性

        (1) appCodeName: 返回浏览器的代码名
        (2) appName: 返回浏览器的名称
        (3) appVersion: 返回浏览器的平台和版本信息
        (4) cookieEnabled: 返回指明浏览器中是否启用 cookie 的布尔值
        (5) platform: 返回运行浏览器的操作系统平台
        (6) userAgent: 返回由客户机发送服务器的user-agent 头部的值

nbsp;html>


<meta>
<script>
    document.write("浏览器代号: " + navigator.appCodeName);
    document.write("<br/><br/>浏览器名称: " + navigator.appName);
    document.write("<br/><br/>版本信息: " + navigator.appVersion);
    document.write("<br/><br/>是否启用 Cookie: " + navigator.cookieEnabled);
    document.write("<br/><br/>硬件平台: " + navigator.platform);
    document.write("<br/><br/>用户代理: " + navigator.userAgent);
</script>



2、 Navigator 对象的方法

        (1) javaEnabled(): 指定是否在浏览器中启用Java
        (2) taintEnabled(): 规定浏览器是否启用数据污点(data tainting)

nbsp;html>


<meta>
<script>
    document.write("<br/><br/>启用Java: " + navigator.javaEnabled());
    document.write("<br/><br/>启用数据污点: " + navigator.taintEnabled());
</script>



總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

以上是JavaScript中什麼是Window 物件?什麼是Navigator 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:博客园。如有侵權,請聯絡admin@php.cn刪除
Python vs. JavaScript:您應該學到哪種語言?Python vs. JavaScript:您應該學到哪種語言?May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架:為現代網絡開發提供動力JavaScript框架:為現代網絡開發提供動力May 02, 2025 am 12:04 AM

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

JavaScript,C和瀏覽器之間的關係JavaScript,C和瀏覽器之間的關係May 01, 2025 am 12:06 AM

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr

node.js流帶打字稿node.js流帶打字稿Apr 30, 2025 am 08:22 AM

Node.js擅長於高效I/O,這在很大程度上要歸功於流。 流媒體匯總處理數據,避免內存過載 - 大型文件,網絡任務和實時應用程序的理想。將流與打字稿的類型安全結合起來創建POWE

Python vs. JavaScript:性能和效率注意事項Python vs. JavaScript:性能和效率注意事項Apr 30, 2025 am 12:08 AM

Python和JavaScript在性能和效率方面的差異主要體現在:1)Python作為解釋型語言,運行速度較慢,但開發效率高,適合快速原型開發;2)JavaScript在瀏覽器中受限於單線程,但在Node.js中可利用多線程和異步I/O提升性能,兩者在實際項目中各有優勢。

JavaScript的起源:探索其實施語言JavaScript的起源:探索其實施語言Apr 29, 2025 am 12:51 AM

JavaScript起源於1995年,由布蘭登·艾克創造,實現語言為C語言。 1.C語言為JavaScript提供了高性能和系統級編程能力。 2.JavaScript的內存管理和性能優化依賴於C語言。 3.C語言的跨平台特性幫助JavaScript在不同操作系統上高效運行。

幕後:什麼語言能力JavaScript?幕後:什麼語言能力JavaScript?Apr 28, 2025 am 12:01 AM

JavaScript在瀏覽器和Node.js環境中運行,依賴JavaScript引擎解析和執行代碼。 1)解析階段生成抽象語法樹(AST);2)編譯階段將AST轉換為字節碼或機器碼;3)執行階段執行編譯後的代碼。

Python和JavaScript的未來:趨勢和預測Python和JavaScript的未來:趨勢和預測Apr 27, 2025 am 12:21 AM

Python和JavaScript的未來趨勢包括:1.Python將鞏固在科學計算和AI領域的地位,2.JavaScript將推動Web技術發展,3.跨平台開發將成為熱門,4.性能優化將是重點。兩者都將繼續在各自領域擴展應用場景,並在性能上有更多突破。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境