03.第二章 - HTML中的JavaScript

image.png

JavaScript插入HTML的主要方法是使用 <script> 元素痰催。

使用方式

  • 方式一 :頁面中直接嵌入行內 JavaScript 代碼
<script>
  function sayHi() {
    console.log("Hi!我是豆叔!");
  }
</script>
  • 方式一二:頁面中引入外部文件中的JavaScript代碼
<script src="demo.js"></script>
<script src="http://www.abc.com/demo.js"></script>

需要注意的是這兩種方式都會阻塞頁面驹马,所以一般建議把JavaScript引用放在</body>元素之前(不是必須)序愚。

<script> 元素屬性

屬性 說明
async 可選妖混。表示應該立即開始下載腳本,但不能阻止其他頁面動作唤崭,比如下載資源或等待其他腳本加載扯俱。只對外部腳本文件有效。
charset 可選牺弹。使用 src 屬性指定的代碼字符集浦马。這個屬性很少使用,因為大多數瀏覽器不在乎它的值张漂。
crossorigin 可選晶默。配置相關請求的CORS(跨源資源共享)設置,默認不使用CORS航攒。
crossorigin="anonymous"配置文件請求不必設置憑據標志磺陡。
crossorigin="use-credentials" 設置憑據標志,意味著出站請求會包含憑據。
defer 可選币他。表示腳本可以延遲到文檔完全被解析和顯示之后再執(zhí)行坞靶。只對外部腳本文件有效。在 IE7 及更早的版本中蝴悉,對行內腳本也可以指定這個屬性彰阴。
integrity 可選。允許比對接收到的資源和指定的加密簽名以驗證子資源完整性(SRI拍冠,Subresource Integrity)尿这。
如果接收到的資源的簽名與這個屬性指定的簽名不匹配,則頁面會報錯庆杜,腳本不會執(zhí)行射众。
這個屬性可以用于確保內容分發(fā)網絡(CDN,Content Delivery Network)不會提供惡意內容晃财。
防止文件被劫持篡改责球,比如DNS劫持
language 廢棄。最初用于表示代碼塊中的腳本語言(如 "JavaScript" 拓劝、 "JavaScript 1.2""VBScript" )。
大多數瀏覽器都會忽略這個屬性嘉裤,不應該再使用它郑临。
src 可選。表示包含要執(zhí)行的代碼的外部文件屑宠。
type 可選厢洞。代替 language ,表示代碼塊中腳本語言的內容類型(也稱 MIME 類型)典奉。
默認值是 "text/javascript"躺翻。
標準 MIME 類型的完整列表

<noscript> 元素

  • 瀏覽器不支持腳本
  • 瀏覽器對腳本的支持被關閉

任何一個條件被滿足,包含在 <noscript> 中的內容就會被渲染卫玖。否則公你,瀏覽器不會渲染 <noscript>中的內容。

我是從來沒用過假瞬,但是用vue-cli創(chuàng)建項目的index.html頁面中是有這個元素的陕靠。

總結

  • 要包含外部 JavaScript 文件,必須將 src 屬性設置為要包含文件的 URL脱茉。文件可以跟網頁在同一臺服務器上剪芥,也可以位于完全不同的域。
  • 所有 <script> 元素會依照它們在網頁中出現(xiàn)的次序被解釋琴许。在不使用 deferasync 屬性的情況下税肪,包含在 <script> 元素中的代碼必須嚴格按次序解釋。
  • 對不推遲執(zhí)行的腳本,瀏覽器必須解釋完位于 <script> 元素中的代碼益兄,然后才能繼續(xù)渲染頁面的剩余部分锻梳。為此,通常應該把 <script> 元素放到頁面末尾偏塞,介于主內容之后及 </body> 標簽之前唱蒸。
  • 可以使用 defer 屬性把腳本推遲到文檔渲染完畢后再執(zhí)行。推遲的腳本原則上按照它們被列出的次序執(zhí)行灸叼。
  • 可以使用 async 屬性表示腳本不需要等待其他腳本神汹,同時也不阻塞文檔渲染,即異步加載古今。異步腳本不能保證按照它們在頁面中出現(xiàn)的次序執(zhí)行屁魏。
  • 通過使用 <noscript> 元素,可以指定在瀏覽器不支持腳本時顯示的內容捉腥。如果瀏覽器支持并啟用腳本氓拼,則 <noscript> 元素中的任何內容都不會被渲染。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末抵碟,一起剝皮案震驚了整個濱河市桃漾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拟逮,老刑警劉巖撬统,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異敦迄,居然都是意外死亡恋追,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門罚屋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來苦囱,“玉大人,你說我怎么就攤上這事脾猛∷和” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵尖滚,是天一觀的道長喉刘。 經常有香客問我,道長漆弄,這世上最難降的妖魔是什么睦裳? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮撼唾,結果婚禮上廉邑,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好蛛蒙,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布糙箍。 她就那樣靜靜地躺著,像睡著了一般牵祟。 火紅的嫁衣襯著肌膚如雪深夯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天诺苹,我揣著相機與錄音咕晋,去河邊找鬼。 笑死收奔,一個胖子當著我的面吹牛掌呜,可吹牛的內容都是我干的。 我是一名探鬼主播坪哄,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼质蕉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了翩肌?” 一聲冷哼從身側響起模暗,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎念祭,沒想到半個月后汰蓉,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡棒卷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了祝钢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片比规。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖拦英,靈堂內的尸體忽然破棺而出蜒什,到底是詐尸還是另有隱情,我是刑警寧澤疤估,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布灾常,位于F島的核電站,受9級特大地震影響铃拇,放射性物質發(fā)生泄漏钞瀑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一慷荔、第九天 我趴在偏房一處隱蔽的房頂上張望雕什。 院中可真熱鬧,春花似錦、人聲如沸贷岸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽偿警。三九已至躏救,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間螟蒸,已是汗流浹背盒使。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留尿庐,地道東北人忠怖。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像抄瑟,于是被迫代替她去往敵國和親凡泣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內容