JavaScript | window瀏覽器對象模型

来源:http://www.cnblogs.com/hughdong/archive/2017/07/20/7214535.html
-Advertisement-
Play Games

Js Window - 獲取瀏覽器視窗 全局變數是window對象的屬性 全局函數是window對象的方法 HTML DOM的document是window對象屬性之一 window.document.getElementById("header"); document.getElementById ...


Js Window - 獲取瀏覽器視窗

  • 全局變數是window對象的屬性
  • 全局函數是window對象的方法
  • HTML DOMdocumentwindow對象屬性之一

    window.document.getElementById("header"); === document.getElementById("header");

window.innerHeight

window.innerWidth

獲取瀏覽器尺寸

IE/Chrome/Firefox/Opera/Safari

document.documentElement.clientHeight

document.documentElement.clientWidth

獲取瀏覽器尺寸

IE8/7/6/5

document.body.clientHeight

document.body.clientWidth

獲取瀏覽器尺寸

其他

window.open()

打開新視窗

window.close()

關閉當前視窗

window.moveTo()

移動當前視窗

window.resizeTo()

調整當前視窗的尺寸

獲取window尺寸

1 var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
2 var heigh = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
3 console.log(width + "," + heigh);

————————————————————————————————————————————

Js Screen - 獲取屏幕的信息

screen.availWidth

獲取屏幕寬度

screen.availHeight

獲取屏幕高度

————————————————————————————————————————————

Js Location - 獲取頁面當前位置

location.href

返回當前鏈接

location.hostname

返回 web 主機的功能變數名稱

location.pathname

返回當前頁面的路徑和文件名

location.port

返回 web 主機的埠 (80 443

location.protocol

返回所使用的 web 協議(http:// https://

location.assign("http://www.xxx.cn")

載入新的文檔

————————————————————————————————————————————

Js History - 獲取瀏覽器歷史

history.forward();

前進

history.back();

後退

————————————————————————————————————————————

Js Navigator - 訪問者瀏覽器的信息

p.s.來自 navigator 對象的信息具有誤導性,不應該被用於檢測瀏覽器版本,這是因為:navigator 數據可被瀏覽器使用者更改,瀏覽器無法報告晚於瀏覽器發佈的新操作系統。

使用對象檢測可用來嗅探不同的瀏覽器。由於不同的瀏覽器支持不同的對象,您可以使用對象來檢測瀏覽器。例如,由於只有 Opera 支持屬性 "window.opera",您可以據此識別出 Opera

navigator.appCodeName

瀏覽器內核

navigator.appName

瀏覽器名稱

navigator.appVersion

內核版本

navigator.cookieEnabled

Cookie是否開啟

navigator.platform

系統平臺

navigator.userAgent

瀏覽器代理

navigator.systemLanguage

語言

————————————————————————————————————————————

Js PopupAlert - 消息框

alert("文本")

警告框

confirm("文本")

確認框

prompt("文本","預設值")

提示框

提示框樣例

1 var name = prompt("please input your name:", "hugh dong")
2 if (name != null && name != "") {
3     document.write("hello," + name);
4 }

————————————————————————————————————————————

Js Timing - 計時事件

setTimeout()

未來的某時執行代碼

clearTimeout()

取消setTimeout()

時鐘樣例

 1 <!DOCTYPE html>
 2 <html>
 3 
 4 <head>
 5     <title></title>
 6     <!-- <script type="text/javascript" src="test.js"></script> -->
 7 </head>
 8 
 9 <body>
10     <div>
11         <p id="txt"></p>
12         <input type="button" value="stop" onclick="stop()">
13     </div>
14     <script type="text/javascript">
15     // 調用timeOut()5秒後彈出alert
16     function timeOut() {
17         var t1 = setTimeout("alert('5 second')", 5000);
18     }
19     // timeOut();
20     // *********************************************************************
21     // 秒錶計時,控制台每秒輸出秒數
22     var c = 0;
23 
24     function timedCount() {
25         console.log(c);
26         c = c + 1
27         t2 = setTimeout("timedCount()", 1000)
28     }
29     timedCount();
30     // *********************************************************************
31     // 簡單時鐘
32     function startTime() {
33         var today = new Date()
34         var h = today.getHours()
35         var m = today.getMinutes()
36         var s = today.getSeconds()
37         m = checkTime(m)
38         s = checkTime(s)
39         document.getElementById('txt').innerHTML = h + ":" + m + ":" + s;
40         t3 = setTimeout('startTime()', 500)
41     }
42 
43     function checkTime(i) {
44         if (i < 10) { i = "0" + i }
45         return i
46     }
47     startTime();
48     // *********************************************************************
49     // 停止時鐘
50     function stop() {
51         clearTimeout(t3);
52     }
53     </script>
54 </body>
55 
56 </html>

————————————————————————————————————————————

Js Cookies

  • 名字 cookie
  • 密碼 cookie
  • 日期 cookie

Cookie創建樣例

 1 <!DOCTYPE html>
 2 <html>
 3 
 4 <head>
 5     <title></title>
 6     <script type="text/javascript" src="test.js"></script>
 7 </head>
 8 
 9 <body onload="checkCookie()">
10 </body>
11 
12 </html>
 1 // 獲取cookie
 2 function getCookie(c_name) {
 3     if (document.cookie.length > 0) {
 4         // 檢索cookie中的內容
 5         c_start = document.cookie.indexOf(c_name + "=");
 6         if (c_start != -1) {
 7             c_start = c_start + c_name.length + 1;
 8             c_end = document.cookie.indexOf(";", c_start);
 9             if (c_end == -1)
10                 c_end = document.cookie.length;
11             // 姓名子串解碼
12             return unescape(document.cookie.substring(c_start, c_end));
13         }
14     }
15     return "";
16 }
17 
18 // 創建cookie,輸入姓名,值,密碼
19 function setCookie(c_name, value, expiredays) {
20     // 獲取當前時間
21     var exdate = new Date();
22     // 根據當前時間的'天'+過期天數,建立新的天數(秒單位)
23     exdate.setDate(exdate.getDate() + expiredays);
24     // 創建cookie內容
25     document.cookie = c_name + "=" + escape(value) +
26         ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
27 }
28 
29 function checkCookie() {
30     username = getCookie('username'); // 獲取cookie
31     // 如果cookie存在則彈窗歡迎
32     if (username != null && username != "") {
33         alert('Welcome again ' + username + '!');
34     }
35     // cookie不存在則創建cookie
36     else {
37         // 彈窗輸入用戶名
38         username = prompt('Please enter your name:', "");
39         // 如果用戶名不為空則創建cookie
40         if (username != null && username != "") {
41             setCookie('username', username, 365);
42         }
43     }
44 }


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • var json = [ {"id":"1","tagName":"apple"}, {"id":"2","tagName":"orange"}, {"id":"3","tagName":"banana"}, {"id":"4","tagName":"watermelon"}, ...
  • 今天修改了一個功能,限制刪除用戶,在刪除的時候不滿足條件的時候提示用戶原因,使用的sweet alert組件。 abp框架前端集成了sweet alert 對http請求的error做了全局處理,我在後臺程式直接拋出的UserFriendlyExcption,開始的時候發現能提示,然後再次操作發現沒 ...
  • View:承載佈局,樣式,和事件交互邏輯Controller:承載邏輯和視圖,簡單的佈局主軸方向和排列Model:XXXManager,封裝數據操作,為上層容器組件提供數據,和功能 Nodejs環境,後臺通過API(application public interface)介面暴露服務Web框架:e ...
  • 求冪運算符 let a = 7 12 let b = 2 7 console.log(a === Math.pow(7,12)) // true console.log(b === Math.pow(2,7)) // true // let a = 7 a = 12 let b = 2 b = 7 ...
  • 原文:History and Background of JavaScript Module Loaders 作者:Elias Carlston 翻譯:leotso 介紹 Web 應用程式的應用程式邏輯不斷從後端移到瀏覽器端。但是,由於富客戶端 JavaScript 應用程式的規模變得更大,它們遇到 ...
  • 電影網站 👉 GitHub: https://github.com/bxm0927/movie-website 此項目是基於 Node.js + Express + mongoDB + Bootstrap 搭建的電影網站。 主要功能模塊: 一期:前臺電影展示頁、電影詳情頁、後臺電影管理中心(電影錄 ...
  • 七.ECMAScript5關於數組的新方法1.forEach():遍曆數組,併為每個元素調用傳入的函數; 舉例: 1 var a = [1,2,3]; 2 var sum = 0; 3 //傳一個參數 4 a.forEach(function(v){ 5 sum += v; 6 }); 7 cons... ...
  • Div+CSS(嵌套+盒模型)佈局頁面完整實例流程: <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>中國石油大學</title> </head> <style> *{ margin: 0px auto; padding: 0px ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...