這篇文章帶給大家的內容是介紹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>
defaultStatus: 設定或傳回視窗狀態列中的預設文字。
status: 設定或傳回視窗狀態列的文字。
nbsp;html> <meta> <script> //设置默认状态栏文本 window.defaultStatus="我会显示在浏览器的状态栏中! !"; //设置状态栏文本 //window.status="我会显示在浏览器的状态栏中! !"; </script>
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>
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>
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>瀏覽器不支援時:
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>
name: 設定或傳回視窗的名稱。
nbsp;html> <meta> <script> var myWindow; function openWin(){ myWindow=window.open('','myTestWindow','width=200,height=100'); myWindow.document.write("<p>窗口名称为: " + myWindow.name + ""); } </script> <button>点击</button><br>
opener:可傳回建立該視窗的 Window 物件的參考。當使用window.open()開啟一個窗口,您可以使用此屬性返回來自目標窗口來源(父)窗口的詳細資訊。
nbsp;html> <meta> <script> function openNewWindow(){ myNewWindow=window.open('','','width=200,height=100'); myNewWindow.document.write("这是我新打开的窗口"); myNewWindow.focus(); myNewWindow.opener.document.write("这个是源窗口"); } </script> <button>点击</button><br>
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>
parent: 返回父視窗。
nbsp;html> <meta> <script> function getParentWindow(){ window.open('','','width=200,height=100'); 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('',''); 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>
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>瀏覽器不支援時:
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('','','width=200,height=100'); 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('','','width=200,height=100'); //打开新窗口 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('','','width=200,height=100'); 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('','','width=200,height=100'); 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('','','width=50,height=20'); 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中文網其他相關文章!

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

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

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

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

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

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

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

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


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

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

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

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境