整合營銷服務商

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

          免費咨詢熱線:

          JavaScript代碼怎樣引入到HTML中?

          avaScript 程序不能獨立運行,它需要被嵌入 HTML 中,然后瀏覽器才能執行 JavaScript 代碼。通過 <script> 標簽將 JavaScript 代碼引入到 HTML 中,有兩種方式:
          1.內部方式
          內部方式是通過<script>標簽包裹JavaScript代碼,從而引入HTML頁面中,示例代碼如下:

          <!DOCTYPE html>
           <html>
           <head>
             <meta charset="UTF-8">
             <title>JavaScript 基礎 - 引入方式</title>
           </head>
           <body>
             <!-- 內聯形式:通過 script 標簽包裹 JavaScript 代碼 -->
             <script>
               alert('嗨,歡迎來傳智播學習前端技術!')
             </script>
           </body>
           </html>

          2.外部形式

          一般將 JavaScript 代碼寫在獨立的以 .js 結尾的文件中,然后通過 <script>標簽的 <src>屬性引入,示例代碼如下:

          // demo.js
          document.write('嗨,歡迎來傳智播學習前端技術!')
          <!DOCTYPE html>
           <html>
           <head>
             <meta charset="UTF-8">
             <title>JavaScript 基礎 - 引入方式</title>
           </head>
           <body>
             <!-- 外部形式:通過 script 的 src 屬性引入獨立的 .js 文件 -->
             <script src="demo.js"></script>
           </body>
           </html>

          注意:如果 script 標簽使用 src 屬性引入了某 .js 文件,那么 標簽的代碼會被忽略!!!如下代碼所示:

          4 種方式可以在 HTML 中引入 CSS。其中有 2 種方式是在 HTML 文件中直接添加 CSS 代碼,另外兩種是引入 外部 CSS 文件。下面我們就來看看這些方式和它們的優缺點。

          內聯方式

          內聯方式指的是直接在 HTML 標簽中的 style 屬性中添加 CSS。

          示例:

          <div style="background: red"></div>
          

          這通常是個很糟糕的書寫方式,它只能改變當前標簽的樣式,如果想要多個 <div> 擁有相同的樣式,你不得不重復地為每個 <div> 添加相同的樣式,如果想要修改一種樣式,又不得不修改所有的 style 中的代碼。很顯然,內聯方式引入 CSS 代碼會導致 HTML 代碼變得冗長,且使得網頁難以維護。

          嵌入方式

          嵌入方式指的是在 HTML 頭部中的 <style> 標簽下書寫 CSS 代碼。

          示例:

          <head>
           <style>
           .content {
           background: red;
           }
           </style>
          </head>
          

          嵌入方式的 CSS 只對當前的網頁有效。因為 CSS 代碼是在 HTML 文件中,所以會使得代碼比較集中,當我們寫模板網頁時這通常比較有利。因為查看模板代碼的人可以一目了然地查看 HTML 結構和 CSS 樣式。因為嵌入的 CSS 只對當前頁面有效,所以當多個頁面需要引入相同的 CSS 代碼時,這樣寫會導致代碼冗余,也不利于維護。

          鏈接方式

          鏈接方式指的是使用 HTML 頭部的 <head> 標簽引入外部的 CSS 文件。

          示例:

          <head>
           <link rel="stylesheet" type="text/css" href="style.css">
          </head>
          

          這是最常見的也是最推薦的引入 CSS 的方式。使用這種方式,所有的 CSS 代碼只存在于單獨的 CSS 文件中,所以具有良好的可維護性。并且所有的 CSS 代碼只存在于 CSS 文件中,CSS 文件會在第一次加載時引入,以后切換頁面時只需加載 HTML 文件即可。

          導入方式

          導入方式指的是使用 CSS 規則引入外部 CSS 文件。

          示例:

          <style>
           @import url(style.css);
          </style>
          

          比較鏈接方式和導入方式

          鏈接方式(下面用 link 代替)和導入方式(下面用 @import 代替)都是引入外部的 CSS 文件的方式,下面我們來比較這兩種方式,并且說明為什么不推薦使用 @import

          • link 屬于 HTML,通過 <link> 標簽中的 href 屬性來引入外部文件,而 @import 屬于 CSS,所以導入語句應寫在 CSS 中,要注意的是導入語句應寫在樣式表的開頭,否則無法正確導入外部文件;
          • @import 是 CSS2.1 才出現的概念,所以如果瀏覽器版本較低,無法正確導入外部樣式文件;
          • 當 HTML 文件被加載時,link 引用的文件會同時被加載,而 @import 引用的文件則會等頁面全部下載完畢再被加載;

          小結:我們應盡量使用 <link> 標簽導入外部 CSS 文件,避免或者少用使用其他三種方式。

          ypeScript是由微軟開發的自由和開源的編程語言,它是JavaScript語言的超集,主要增加了類型檢查的能力,目標是為了支持大型項目的開發,原生的JavaScript可以原封不動在TypeScript語言里使用。TypeScript的語言很像Java這樣的后端語言,轉換到TypeScript讓你開啟了全棧能力的征程。

          但是直接從JavaScript切換到TypeScript并非沒有代價,可以參考從 JavaScript 遷移到 TypeScript - TypeScript 中文手冊掌握切換的一般步驟,不過按照指導操作我還是遇到別的問題,本文以《WebGL編程指南》一書的示例代碼為例介紹我遇到的問題以及解決辦法。

          注意使用TypeScript編寫的代碼并不能直接運行,還是需要編譯成JavaScript才行,首先使用npm命令全局安裝TypeScript。

          npm install -g typescript

          安裝成功后,cmd執行tsc -v如果成功打印版本則表示安裝成功。

          當我嘗試把《WebGL編程指南》中的代碼轉換到TypeScript進行練習時,執行tsc命令編譯報錯,提示找不到getWebGLContext這個方法,這個方法是本書作者提供的js庫cuon-utils.js中的方法。

          示例代碼位置:

          《WebGL編程指南》第2章WebGL入門中的一個示例“最短的WebGL程序:清空繪圖區”,16頁。

          源碼倉庫鏈接:https://github.com/GrayMind/WebGL-Programming-Guide.git/

          解決這個問題可以通過在tsconfig.json這個TypeScript工程管理配置中設置,在include中引入lib這個目錄即可,這樣TypeScript就能識別提示不存在的方法了,再次執行tsc命令編譯就不會報錯了,getWebGLContext方法就可以正常使用了(不過TypeScript做了檢查,需要把第二個參數傳入,默認為false)。

          {
              "compilerOptions": {
                  "outDir": "./built",
                  "allowJs": true,
                  "target": "es6"
              },
              "include": [
                  "./src/*", 
                  "./lib/*",      // 這里引入lib目錄,TypeScript就會包含引入其中的js文件了
              ]
          }

          還有些細節的地方需要變動,這里列出全部代碼并在變動的地方添加了注釋。

          HelloCanvas.html:

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <meta name="viewport" content="width=device-width, initial-scale=1.0">
              <title>最短的WebGL程序:清空繪圖區</title>
          </head>
          <!-- 原來body中的onload="main()"不再需要了 -->
          <body>
              <canvas id="webgl" width="400" height="400">
                  您的瀏覽器不支持WebGL
              </canvas>
          
              <script src="../lib/webgl-utils.js"></script>
              <script src="../lib/webgl-debug.js"></script>
              <script src="../lib/cuon-utils.js"></script>
              <!-- script元素要增加type="module"來支持模塊的import export -->
              <script type="module" src="./built/src/HelloCanvas.js"></script>
          </body>
          </html>

          HelloCanvas.ts:


          主站蜘蛛池模板: 日韩精品一区二区三区视频| 成人免费视频一区二区三区 | 美女啪啪一区二区三区| 国产一区二区免费| 亚洲日韩中文字幕无码一区| 日韩精品一区二区午夜成人版| 国产一区二区三区夜色| 久久国产一区二区三区| 日韩一区在线视频| 韩国美女vip福利一区| 成人国产精品一区二区网站| 国产日韩一区二区三区在线播放| 国产A∨国片精品一区二区| 蜜桃传媒一区二区亚洲AV| 久久久国产精品一区二区18禁| 国产伦精品一区二区三区视频小说| 中文字幕一精品亚洲无线一区| 精品无码综合一区| 精品免费AV一区二区三区| 国产一区二区三区影院| 精品无码人妻一区二区免费蜜桃 | 国产精品日韩欧美一区二区三区 | 一区二区三区四区精品| 日韩免费视频一区| 国产无吗一区二区三区在线欢| 一区二区三区在线免费看| 无码人妻一区二区三区在线| 亚洲一区二区三区免费| 无码精品人妻一区二区三区免费| 波多野结衣一区二区免费视频 | 天码av无码一区二区三区四区| 亚洲欧美成人一区二区三区| 亚洲AV无码一区二区三区电影| 成人中文字幕一区二区三区 | 无码午夜人妻一区二区不卡视频| 国精产品一区一区三区MBA下载| 日本v片免费一区二区三区| 日本视频一区二区三区| 中文字幕一区二区免费| 国产一区二区三精品久久久无广告| 亚洲AV综合色一区二区三区|