JavaScript <script>標籤
目錄
1. HTML中使用JavaScript。
要在html中使用JavaScript主要是使用<script>標籤。
使用<script>標籤的方式有2種:
1.1 直接將JavaScript程式碼放入<script>標籤中。
<!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>script標籤</title>
<script>
function hi() {}
</script>
</head>
<body></body>
</html>
1.2 通過src引用外部JavaScript檔案。
<!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>script標籤</title>
<script src="xxx.js"></script>
</head>
<body></body>
</html>
2. <script>標籤屬性。
<script>標籤有8個屬性,分別是:
2.1 src
用於引用外部檔案。
2.2 type
表示程式碼塊中的語言型別,這個值始終是text/javascript。
2.3 crossorigin
配置相關請求的CORS(跨源資源共享)設定。預設不使用CORS。crossorigin=
"anonymous"配置檔案請求不必設定憑據標誌。crossorigin="use-credentials"設定憑據
標誌,意味著出站請求會包含憑據。
2.4 charset
使用 src 屬性指定的程式碼字符集。這個屬性很少使用,因為大多數瀏覽器不在乎它的值。
2.5 async
表示應該立即開始下載指令碼,但不能阻止其他頁面動作,比如下載資源或等待其他指令碼載入。只對外部指令碼檔案有效。
2.6 defer
表示指令碼可以延遲到文件完全被解析和顯示之後再執行。只對外部指令碼檔案有效。在 IE7 及更早的版本中,對行內指令碼也可以指定這個屬性。
2.7 integrity
允許比對接收到的資源和指定的加密簽名以驗證子資源完整性(SRI,Subresource Integrity)。如果接收到的資源的簽名與這個屬性指定的簽名不匹配,則頁面會報錯,指令碼不會執行。這個屬性可以用於確保內容分發網路(CDN,Content Delivery Network)不會提供惡意內容。
2.8 language
廢棄。最初用於表示程式碼塊中的指令碼語言(如"JavaScript"、“JavaScript 1.2”
或"VBScript")。大多數瀏覽器都會忽略這個屬性,不應該再使用它。
3. 標籤位置。
可以把<script>放在<head>裡,如:
<!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>Document</title>
<link rel="stylesheet" href="../xx.css">
<script src="../js"></script>
</head>
<body>
<!-- 內容 -->
</body>
</html>
這樣的做法的目的是為了把外部的CSS和JavaScript檔案都集中在一起,但是這樣會造成渲染頁面的時候,頁面會在下載JavaScript解析後,才顯示<body>裡的內容。在這個期間,頁面是完全空白的。
為了解決這個問題,提高使用者體驗,現在通常把JavaScript的引用放在<body>的內容後面,如下:
<!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>Document</title>
<link rel="stylesheet" href="../xx.css">
</head>
<body>
<div>body內容</div>
<script src="../js"></script>
</body>
</html>
這樣就會先顯示body中的內容,再去下載和解析JavaScript。
4. 動態載入JavaScript。
可以通過DOM的API,向DOM中新增<script>,例如:
var script = document.createElement('script');
script.src = '../xx.js';
// script.async = false; 可以明確將其設定為同步載入
document.head.appendChild(script);
這種方式獲取的資源對瀏覽器預載入器是不可見的。這會嚴重影響它們在資源獲取佇列中的優先順序。根據應用程式的工作方式以及怎麼使用,這種方式可能會嚴重影響效能。要想讓預載入器知道這些動態請求檔案的存在,可以在文件頭部顯式宣告它們:
<link rel="preload" href="gibberish.js">
相關文章
- 熟悉的< script >標籤
- JS 之 script標籤JS
- 淺談script標籤
- Script標籤的async和defer
- script標籤中的async和defer
- 說一說 HTML 中的 script 標籤HTML
- jQuery內部對<script>標籤的處理jQuery
- script標籤的defer和async屬性詳解
- JavaScript 標籤語句JavaScript
- 前端效能優化---將script標籤放在body之後前端優化
- 類script標籤,非同步載入,順序執行非同步
- JavaScript 模板字面量標籤JavaScript
- JavaScript各類標籤的使用JavaScript
- 由script標籤引發了我對setTimeout非同步的思考非同步
- javascript實現文字框標籤驗證JavaScript
- JavaScript 獲取指定標籤一級子元素JavaScript
- JavaScript物件導向修改標籤頁詳解JavaScript物件
- JavaScript html標籤轉義為實體字元JavaScriptHTML字元
- SAP UI5 的 sap-ui-bootstrap script 指令碼標籤各屬性解析UIboot指令碼
- properties標籤和typeAliases標籤
- JavaScript物件導向怎樣刪除標籤頁?JavaScript物件
- HTML標籤(基本標籤的使用)HTML
- VOC標籤轉化為YOLO標籤YOLO
- base標籤
- JSTL標籤JS
- html標籤HTML
- Git 標籤Git
- HTML <a> 標籤HTML
- K8S標籤與標籤選擇器K8S
- HTML簡介,結構,標籤以及標籤語義HTML
- 前端html:標籤前端HTML
- 01 HTML標籤HTML
- html排版標籤HTML
- xss常用標籤
- HTML <figcaption> 標籤HTMLGCAPT
- HTML <dialog> 標籤HTML
- HTML <time> 標籤HTML
- HTML <aside> 標籤HTMLIDE