整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          當您在瀏覽器中輸入網址時會發生什么?

          0、先問個問題

          若客戶提出一個質量屬性要求,要實現一個Web查詢,性能200毫秒以內,請問這個要求高還是低?

          對一個web系統來說,200毫秒是一個比較高的性能。

          憑啥這么說,你要是做過架構的話,就明白這個道理。

          作為架構師,必須了解完整過程,每一個細節。

          你應該能把整個系統分解成若干個環節,并且各環節的細節你都能了解。這個環節是硬的還是軟的?會不會影響這個部分的性能開銷?

          看下圖,能看到你從發起請求,一直到頁面呈現完了之后的4個主要環節。

          要細分的話,其實當中還有更多的環節。

          網絡大概走多少毫秒,差不多50ms,環節取決于網絡環境,要是跨國的話,從中國到美國,可能要上百。

          這個是系統架構改變不了的。

          那就是200已經去掉了50,或者100,剩下100多可以用。

          收到數據之后,需要瀏覽器渲染出來,又需要多長時間呢?

          這個時間不確認,看渲染結果復不復雜,有沒ajax再次請求這類情況。

          可能簡單的,10幾毫秒,復雜的更長。

          右邊從Web服務器到應用服務器、從應用服務器到數據庫DB之間,還有性能開銷。

          數據庫檢索出來是一個值,這個值到了你的開發語言里面,經過底層框架,需要做數據類型轉換,變成程序里的一個對象。

          一個架構師,就要學會區分,哪些是架構能左右的,能夠改善的,哪些是我不能解決的,最后在你能解決的部分里想辦法

          你都了解了之后,你就能專業地跟客戶說,這個200毫秒我做不到。

          或者說在什么條件下,我能做到。

          一個事情,只有你都了解的情況下,才能給出一個可行方案。

          01、當您在瀏覽器中輸入 URL 時會發生什么?

          讓我們一步步看一下整個過程:

          1. 用戶在瀏覽器中輸入 URL 并按 下Enter鍵時,我們需要做的第一件事是將 URL 轉換為 IP 地址。映射通常存儲在緩存中,因此瀏覽器會在多層緩存中查找 IP 地址:瀏覽器緩存、操作系統緩存、本地緩存和 ISP 緩存。如果瀏覽器在緩存中找不到該映射,則會請求 DNS(域名系統)解析器進行解析。
          2. 如果在任何緩存中都找不到 IP 地址,則瀏覽器將前往 DNS 服務器進行遞歸 DNS 查找,直到找到 IP 地址。
          3. 現在我們有了服務器的IP地址,瀏覽器向服務器發送HTTP請求。為了安全訪問服務器資源,我們應該始終使用 HTTPS。它首先通過 TCP 3 次握手與服務器建立 TCP 連接。然后它將公鑰發送給客戶端。客戶端使用公鑰加密會話密鑰并發送給服務器。服務器使用私鑰來解密會話密鑰。客戶端和服務器現在可以使用會話密鑰交換加密數據。
          4. 服務器處理請求并發回響應。

          對于成功的響應,狀態代碼為 200。

          響應中有 3 部分:HTML、CSS 、 Javascript。

          瀏覽器渲染的順序:

          1. 瀏覽器解析HTML并生成DOM樹。

          2. 解析 CSS 并生成 CSSOM 樹。

          3. 結合 DOM 樹和 CSSOM 樹來構建渲染樹。

          4. 節點布局

          5. 最后頁面渲染,瀏覽器將內容呈現并顯示給用戶。

          02、用一張圖解釋 8 種流行的網絡協議

          1. HTTP(超文本傳輸協議)HTTP 是一種用于獲取 HTML 文檔等資源的協議。它是 Web 上任何數據交換的基礎,是一種客戶端-服務器協議。
          2. HTTP/3HTTP/3 是 HTTP 的下一個主要修訂版。它運行在 QUIC 上,這是一種專為移動互聯網使用而設計的新傳輸協議。它依賴于 UDP 而不是 TCP,從而實現更快的網頁響應。VR 應用程序需要更多帶寬來渲染虛擬場景的復雜細節,并且可能會從遷移到由 QUIC 提供支持的 HTTP/3 中受益。
          3. HTTPS(安全超文本傳輸協議)HTTPS 擴展了 HTTP 并使用加密來實現安全通信。
          4. WebSocketWebSocket 是一種通過 TCP 提供全雙工通信的協議。客戶端建立WebSocket來接收來自后端服務的實時更新。與總是“拉取”數據的 REST 不同,WebSocket 允許“推送”數據。在線游戲、股票交易和消息傳遞應用程序等應用程序利用 WebSocket 進行實時通信。
          5. TCP(傳輸控制協議)TCP 旨在通過互聯網發送數據包,并確保通過網絡成功傳送數據和消息。許多應用層協議構建在 TCP 之上。
          6. UDP(用戶數據報協議)UDP 直接將數據包發送到目標計算機,無需先建立連接。UDP 通常用于時間敏感的通信,其中偶爾丟棄數據包比等待更好。語音和視頻流量通常使用此協議發送。
          7. SMTP(簡單郵件傳輸協議)SMTP 是一種用于將電子郵件從一個用戶傳輸到另一個用戶的標準協議。
          8. FTP(文件傳輸協議)FTP 用于在客戶端和服務器之間傳輸計算機文件。它具有單獨的控制通道和數據通道連接。
          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>登錄頁面</title>
              /*總體的樣式*/
              <style>
              	/*盒子樣式*/
                  #box{
                      width: 350px; //寬
                      height: 450px; //高
                      border: 1px solid black; //邊框
                      border-radius: 10px; //邊框弧度
                      font-family: 黑體; //字體
                      letter-spacing:8px; //段間距
                      word-spacing: 10px; //字間距
                      line-height: 40px; //行高
                      font-size: 18px; //字大小
                      padding: 20px; //內邊框
                  }
                  /*給'注冊'賦予樣式*/
                  .register{
                      width:280px ; //寬
                      height: 50px; //高
                      background-color: skyblue; //背景顏色
                      border-radius: 10px; //邊框弧度
          
                  }
                  /*將所有邊框都改變*/
                  *{
                      border-radius: 5px; 邊框弧度
                  }
                  /*使用class選擇器,賦予number寬高和邊框*/
                  .number{
                      width: 185px; //寬
                      height: 27px; //高
                      border-width: 1px; //邊框寬度
          
                  }
                  /*id選擇器*/
                  #two{
                      width: 55px; //寬
                      border-width: 1px; 邊框寬度
                  }
                  /*id選擇器*/
                  #phone{
                      width: 103px; //寬
                  }
                  /*class 選擇器*/
                  .boxs{
                      zoom: 75%; //清除浮動
                      color: darkgray; //顏色
                  }
                  /*class選擇器*/
                  .box_a{
                      width: 50px; //寬
                      height: 50px; //高
                      background-image: url("../image/04.jpg "); //背景圖片
                      background-repeat: no-repeat; // 是否平鋪
                      background-size: 50px 25px; //背景尺寸
                      position: relative; //定位 相對定位
                      left: 310px; //定位后左移
                      bottom: 32px; //定位后下移
          
                  }
              </style>
          </head>
          <body>
          <div id="box">
              <h1>請注冊</h1>
          <p style="color: darkgray">已有帳號?<a href="https://im.qq.com/index">登錄</a></p>
          <form action="" method="post">
              <label for="name">用戶名</label>
              <input type="text" placeholder="請輸入用戶名" id="name" class="number"> <br>
              <label for="phone">手機號</label>
              <select name="" id="two" class="number">
              <optgroup>
                  <option style="" class="">+86</option>
              </optgroup>
              </select>
              <input type="text" placeholder="請輸入手機號" id="phone" class="number"> <br>
              <label for="mima">密?碼</label>
              <input type="password" placeholder="請輸入密碼" id="mima" class="number"> <br>
              <label for="mima">驗證碼</label>
              <input type="password" placeholder="請輸入驗證碼" id="is" class="number">
              <div class="box_a"></div>
              <div class="boxs">
                  <input type="radio" id="" class="accept">閱讀并接受協議<br>
              </div>
              <input type="submit" value="注冊" class="register" >
          
              </form>
          </div>
          
          
          </body>
          </html>
          在這里插入圖片描述


          ntroduction

          HTML 是一種描述網頁語言, 指的是超文本標記語言 (Hyper Text Markup Language)。其中,超文本指的是網頁上可以包含圖片,視頻,連接信息。標記也叫做標簽,所以標簽書寫的是<內容>。語言就是一種交流工具,HTML 是用戶與瀏覽器之間交互工具。

          簡單說,HTML 是由瀏覽器解析執行的,它不會將 HTML 標簽展示出來,而是會解析 HTML 標簽,以特定效果展示出來。

          Syntax

          1. HTML 可以直接使用文本編輯器來編寫
          2. HTML 文件它的后綴名是 .htm 或 .html
          3. <html> 標簽它代表當前頁面是一個 HTML
          4. <head> 標簽中可以聲明 HTML 頁面的相關信息
          5. <body> 標簽中它主要是用于顯示頁面信息
          6. 標簽要有開始,有結束。開始標簽與結束標簽中的內容是標簽的內容,如果沒有標簽內容,可以讓標簽自關閉 <br/>。
          7. 大多數標簽它具有屬性,屬性值要使用引號引起來。
          8. HTML 本身是不區分大小寫的。
          <html>
              <head>HEAD</head>
              <body>BODY</body>
          </html>

          Tools

          可以使用 JetBrains WebStorm 或者 VS Code 進行開發。


          HTML Tags

          文件標簽

          <html> 代表當前書寫的是一個 HTML 文檔

          <head> 存儲的本頁面的一些重要的信息,它不會顯示

          標簽下有一個子標簽 <title> 它是用于定義頁面的標題的

          <body> 書寫的內容會顯示出來,屬性:1. text 用于設置文字顏色;2. bgcolor 用于設置頁面的背景色;3. background 用于設置頁面的背景圖片

          排版標簽

          HTML 注釋

          <!-- 注釋不會在瀏覽器中顯示 -->

          <br/> 標簽

          br 標簽就是一個換行功能標簽

          <p> 標簽

          在 p 標簽中的內容會在開始與結束之間產生一個空白行并且它會自動換行

          常用屬性 align 的作用是設置段落中的內容對齊方式,可取值有 left right center

          <hr> 標簽

          hr 標簽會在頁面上產生一個水平線

          常用屬性:

          align:可取值有 left right center 代表水平線位置

          size:代表水平線高度(厚度)

          width:代表水平線寬度

          color:水平線的顏色

          關于 HTML 中標簽屬性

          兩種方式:

          1. 直接設置值,默認單位是 px (像素) <HR WIDTH="200">
          2. 可以設置百分比 <HR WIDTH="35%">

          <div> 標簽

          Div 是一個塊標簽

          Div 與 CSS 結合,會更好對頁面進行排版

          <span> 標簽

          Span 標簽也是一個塊標簽Div 與 span 區別:Div 會自動換行,我們也叫這樣的標簽為行級元素Span 標簽它不會自動換行,我們也叫它為行內元素

          字體標簽

          <font> 標簽

          Font 標簽可以設置字體,字的大小及顏色

          常用屬性:

          Face:用于設置字體,例如 宋體 隸書 楷體

          Size:用于設置字的大小

          Color:用于設置字的顏色

          我們所看到的屏幕上所有的顏色都是由紅、綠、藍這三種基色調混合而成的。每一種顏色的飽和度和透明度都是可以變化的,用 0~255 的數值來表示。如純紅色表示為 (255,0,0),十六進制表示為 #FF0000。按這種表達方式,理論上我們可以得到 256 * 256 *256=16777216 種顏色。

          1. 使用十六進制方式,取值范圍 #000000 ~ #FFFFFF (黑色到白色)。當顏色值為 #cc3300 時,也可以使用 #c30 這種簡化的方式來表示。
          2. RGB 顏色表示法:RGB(x,y,z),x、y、z 是 0 ~ 255 之間的整數。
          3. 在線顏色選擇器:http://www.86y.org/code/colorpicker/color.html


          標題標記

          <h1> 最大 <h6> 最小,它們代表的是標題,可以使用 <b> <i> 對文字設置加粗或傾斜

          注意:在 HTML 中允許標簽進行嵌套的,但是一般都包裹嵌套,而不可以進行交叉嵌套

          清單標記(列表標記)

          有序清單:

          <!-- 有序列表 I II III-->
          <ol type="I" start="3">
              <li>張三</li>
              <li>李四</li>
              <li>王五</li>
          </ol>
          <!-- 無序列表 -->
          <ul type="square">
              <li>Java</li>
              <li>Python</li>
              <li>C#</li>
          </ul>

          圖形標簽

          <img> 可以讓我們在網頁引入一張圖片

          常用屬性

          1. src 代表的圖片的路徑
          2. width 圖片的寬度
          3. height 圖片的高度
          4. border 用于設置圖片的邊框
          5. alt 如果圖片不可以顯示時,默認顯示的文本信息
          6. align 圖片附件文字的對齊方式,取值有 :left right middle top bottom

          超連接標簽

          <a> 標簽可以實現跳轉到其它頁面操作。超鏈接內容不僅可以是文本,也可以是圖片等信息

          常用屬性

          1. href 代表的要跳轉的路徑
          2. name 屬性可以在本頁面設置一個錨點
          3. target 這個屬性規定在何處打開這個鏈接文檔,可取值:_blank _self _parent _top framename

          表格標簽

          <!-- 學習表格標簽 -->
          <table border="2" align="center" width="400px">
              <caption>學生成績單</caption>
              <tr>
                  <th>姓名</th>
                  <th>語文成績</th>
                  <th>數學成績</th>
                  <td colspan="2" align="center"><b>操作</b></td>
              </tr>
              <tr align="center">
                  <td>張三</td>
                  <td>99</td>
                  <td>100</td>
                  <td>修改</td>
                  <td>刪除</td>
              </tr>
              <tr align="center">
                  <td>李四</td>
                  <td>90</td>
                  <td>66</td>
                  <td>修改</td>
                  <td>刪除</td>
              </tr>
          </table>

          表單標簽

          通過表單可以將要提交的數據提交到指定的位置

          <!-- 表單:用戶注冊案例 -->
          <form name="form1" action="user/login" method="POST">
              <table border="1" width="64%" align="center">
                  <tr>
                      <td>用戶名:</td>
                      <td>
                          <input type="text" name="username">
                      </td>
                  </tr>
                  <tr>
                      <td>密碼:</td>
                      <td>
                          <input type="password" name="password">
                      </td>
                  </tr>
                  <tr>
                      <td>性別:</td>
                      <td>
                          <input type="radio" name="sex" checked="checked">男
                          <input type="radio" name="sex" >女
                      </td>
                  </tr>
                  <tr>
                      <td>地址:</td>
                      <td>
                          <select name="province">
                              <option value="0">--請選擇省--</option>
                              <option value="10001">廣東</option>
                              <option value="10002">上海</option>
                              <option value="10003">山東</option>
                          </select> 省
                          <select name="city">
                              <option>--請選擇市--</option>
                              <option value="1000301">廣州市</option>
                              <option>深圳市</option>
                              <option>東莞市</option>
                          </select> 市
                      </td>
                  </tr>
                  <tr>
                      <td>編程語言:</td>
                      <td>
                          <input type="checkbox" name="language" checked="checked">Java
                          <input type="checkbox" name="language">Python
                          <input type="checkbox" name="language">Go
                      </td>
                  </tr>
                  <tr>
                      <td>照片:</td>
                      <td>
                          <input type="file" name="image">
                      </td>
                  </tr>
                  <tr>
                      <td>自我介紹:</td>
                      <td>
                          <textarea name="remark" rows="5" cols="100"></textarea>
                      </td>
                  </tr>
                  <tr>
                      <td colspan="2" align="center">
                          <input type="submit" value="注冊"> 
                          <input type="reset" value="取消"> 
                      </td>
                  </tr>
              </table>
          </form>

          框架標簽

          通過框架標簽可以定制 HTML 頁面布局

          在 HTML 頁面上去描述框架信息時,不可以將 <frameset> 寫在 <body> 標簽中

          framesetTest.html

          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>HTML 框架標簽</title>
              </head>
              <!-- rows 定義了三行:第一行 100 像素,第三行:100 像素;第二行:剩下的像素 -->
              <frameset rows="100, * , 100"> 
                  <frame name="topModule" src="./top.html"></frame>
                  <frameset cols="100, * ">
                      <frame name="menuModule" src="./menu.html"></frame>
                      <frame name="contentModule" src="./content.html"></frame>
                  </frameset>
                  <frame name="footModule" src="./foot.html"></frame>
              </frameset>
          </html>

          top.html

          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>top</title>
              </head>
              <body>
                  <div>頭部信息</div>
              </body>
          </html>

          foot.html

          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>footL</title>
              </head>
              <body>
                  <div>底部信息</div>
              </body>
          </html>

          menu.html

          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>menu</title>
              </head>
              <body>
                  <div>菜單信息</div>
              </body>
          </html>

          content.html

          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>content</title>
              </head>
              <body>
                  <div>內容顯示區</div>
              </body>
          </html>

          其它標簽與特殊字符

          <meta> 標簽

          <meta> 標簽必須寫在 <head> 標簽之間

          1. 它可以對頁面進行描述及熱詞設置,可以方便搜索引擎查找頁面
          2. 通過 meta 標簽設置 http 響應信息
          3. 通過 meta 標簽可以設置頁面的編碼,<meta http-equiv="Content-Type" content="text/html; charset=gbk">
          4. 通過 meta 標簽來設置頁面加載后在指定的時間后跳轉到指定的頁面,<meta http-equiv="refresh" content="5; url=http://www.baidu.com">

          <link>標簽

          使用 link 標簽來導入 CSS

          特殊字符

          詳情查看菜鳥教程:https://www.runoob.com/charsets/ref-html-ascii.html


          ?HTML DOM

          Introduction

          DOM, Document Object Model -- 文檔對象模型,是 HTML 和 XML 文檔的編程接口,以樹結構表達 HTML 文檔。

          DOM 是 W3C(萬維網聯盟)的標準。

          DOM 定義了訪問 HTML 和 XML 文檔的標準。

          W3C DOM 標準被分為 3 個不同的部分:

          • 核心 DOM - 針對任何結構化文檔的標準模型
          • XML DOM - 針對 XML 文檔的標準模型
          • HTML DOM - 針對 HTML 文檔的標準模型

          DOM Node

          DOM 是被視為節點樹的 HTML。

          根據 W3C 的 HTML DOM 標準,HTML 文檔中的所有內容都是節點:

          • 整個文檔是一個文檔節點
          • 每個 HTML 元素是元素節點
          • HTML 元素內的文本是文本節點
          • 每個 HTML 屬性是屬性節點
          • 注釋是注釋節點

          HTML DOM 將 HTML 文檔視作樹結構,這種結構被稱為節點樹。

          節點樹中的節點彼此擁有層級關系。常用父(parent)、子(child)和同胞(sibling)等術語來描述這些關系。父節點擁有子節點。同級的子節點被稱為同胞(兄弟或姐妹)。

          • 在節點樹中,頂端節點被稱為根(root)。
          • 每個節點都有父節點、除了根(它沒有父節點)。
          • 一個節點可擁有任意數量的子節點。
          • 同胞是擁有相同父節點的節點。

          DOM 方法 & 屬性

          HTML DOM 方法是可以在節點(HTML 元素)上執行的動作。

          HTML DOM 屬性是可以在節點(HTML 元素)設置和修改的值。

          可通過 JavaScript (以及其他編程語言)對 HTML DOM 進行訪問。所有 HTML 元素被定義為對象,而編程接口則是對象方法和對象屬性。方法是能夠執行的動作(比如添加或修改元素)。屬性是能夠獲取或設置的值(比如節點的名稱或內容)。

          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>DOM</title>
              </head>
              <body>
                  <div id="div1">
                      <p id="p1">Hello</p>
                      <p id="p2">Hello</p>
                  </div>
                  <script>
                      // 先獲取 P 元素
                      var element = document.getElementById("p1")
                      // 直接修改 p 元素的內容
                      element.innerHTML = "此時已是修改后的內容"
          
                      // 修改 p2 標簽的樣式
                      var ele = document.getElementById("p2")
                      ele.style.color="blue"
                      ele.style.fontFamily="宋體"
                      ele.style.fontSize="larger"
          
                      // 添加元素
                      // 創建一個p元素
                      var elementP = document.createElement("p")
                      // 創建一個內容
                      var nodeText = document.createTextNode("新加的 P 元素")
                      // 把文字內容添加到p元素中
                      elementP.appendChild(nodeText)
                      // 把新創建的p元素添加div1元素中
                      var div1 = document.getElementById("div1")
                      div1.appendChild(elementP)
          
                      // 插入添加新的元素
                      // 創建一個新的元素
                      var eleP = document.createElement("p")
                      // 創建一個內容
                      var noText = document.createTextNode("在 P1 元素前添加的新元素")
                      // 把文字內容添加到 p 元素中
                      eleP.appendChild(noText)
                      // 把新創建的 p 元素添加 div 1 元素中
                      var parentDiv1 = document.getElementById("div1")
                      // 獲取指定被添加的元素
                      var p1 = document.getElementById("p1")
                      // 在元素前添加;參數說明:1.要添加的元素;2.在那個元素之前添加(指定一個元素)
                      parentDiv1.insertBefore(eleP, p1)
          
                      // 刪除元素
                      // 獲取父元素
                      var pdiv1 = document.getElementById("div1")
                      var removep1 = document.getElementById("p1")
                      // 使用父元素刪除該元素
                      pdiv1.removeChild(removep1)
                  </script>
              </body>
          </html>

          DOM 事件

          HTML DOM 允許 JavaScript 對 HTML 事件作出反應。當事件發生時,可以執行 JavaScript,比如發生用戶點擊一個 HTML 元素的事件。

          如需在用戶點擊某個元素時執行代碼,可以把 JavaScript 代碼添加到 HTML 事件屬性中:onclick=JavaScript

          HTML 事件的例子:

          • 當用戶點擊鼠標時
          • 當網頁已加載時
          • 當圖片已加載時
          • 當鼠標移動到元素上時
          • 當輸入字段被改變時
          • 當 HTML 表單被提交時
          • 當用戶觸發按鍵時
          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>DOM 事件</title>
                  <!-- JavaScript 代碼必須寫在 script 中 -->
                  <script>
                      function onLoadFun(){
                          alert("已載入...");
                      }
                      // 文本框失去焦點事件
                      function onBlurFun(){
                          alert("此方法是文本框失去焦點事件,用來校驗此文本框輸入數據的")
                      }
                      // 表單被提交時執行事件
                      function onSubmitFun(){
                          alert("此表單已提交,這個方法也可以來作為數據校驗的");
                      }
                      // 元素被改變時觸發事件
                      function onChangeFun(){
                          alert("文本框元素已輸入新的數據")
                      }
                      // 當鼠標懸停在某一個元素上時執行的方法
                      function onMouseOverFun(element){
                          element.innerHTML = "鼠標已停在H1元素上了"
                      }
                      // 當鼠標離開某一個元素時執行事件
                      function onMouseOutFun(element){
                          element.innerHTML = "鼠標已離開H1元素上了..."
                      }
                  </script>
              </head>
              <!-- 需求:當頁面被載入時,執行一個代碼,彈框提示已載入 -->
              <body onload="onLoadFun()">
                  <!-- 需求:在一個表單中有用戶名錄入的文本框,當輸入完文本框的時候進行名稱校驗,提交的時候彈框顯示 -->
                  <form onsubmit="onSubmitFun()">
                      用戶名:<input id="username" name="username" onchange="onChangeFun()" >
                      <br/>
                      <button type="submit">提交</button>
                  </form>
                  <!-- 需求:有一個 H1 標簽元素,當鼠標移動到 H1 元素上時,修改文字,當鼠標移出元素時執行事件 -->
                  <h1 onmouseover="onMouseOverFun(this)" onmouseout="onMouseOutFun(this)">我是一個標題</h1>
              </body>
          </html>


          想了解更多,歡迎關注我的微信公眾號:Renda_Zhang


          主站蜘蛛池模板: 2021国产精品视频一区| 国产乱码一区二区三区四| 一区二区三区免费高清视频| 亚洲日本一区二区三区在线不卡| 大伊香蕉精品一区视频在线| 一区二区三区高清在线| 中文字幕日韩一区二区三区不| 日韩亚洲AV无码一区二区不卡 | 国产亚洲3p无码一区二区| 国产日韩精品视频一区二区三区 | 嫩B人妻精品一区二区三区| 在线观看视频一区二区| 无码视频一区二区三区在线观看 | 国产精品区AV一区二区| 亚洲一区二区三区高清视频| 亚洲国产一区二区三区| 色妞AV永久一区二区国产AV| 国产精品毛片a∨一区二区三区| 精品日韩一区二区| 国产一区二区三区精品久久呦| 精品国产一区二区三区无码| 日韩久久精品一区二区三区| 国产精品一区二区三区高清在线 | 久久精品无码一区二区三区免费 | 亚洲毛片不卡av在线播放一区| 久久久国产一区二区三区| 国产精品99精品一区二区三区| 精品视频一区二区三区| 另类ts人妖一区二区三区| 免费精品一区二区三区第35| 一区二区三区精品高清视频免费在线播放| 国产91大片精品一区在线观看| 国产品无码一区二区三区在线蜜桃 | 一区二区在线免费视频| 麻豆aⅴ精品无码一区二区| 波多野结衣精品一区二区三区 | 日本人真淫视频一区二区三区| 制服中文字幕一区二区 | 成人在线一区二区| 精品国产一区二区三区不卡| 国产人妖在线观看一区二区|