1. 起因
因為https地址中,如果載入了http資源,瀏覽器將認為這是不安全的資源,將會預設阻止。後來在文件中新增了<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
完美解決。
此時我才發現自己對meta
簡直一無所知,本文主要介紹meta
,順帶也會提一提head
中的其它標籤。如有不對請指出,最後歡迎點贊 + 收藏。
2. head 標籤
head
標籤與html
標籤,body
標籤一樣是一個文件必須的元素。
head
標籤用於定於文件頭部資訊,它是所有頭部元素的容器。head
中的元素可以引用指令碼、指示瀏覽器在哪裡找到樣式表、提供元資訊等等。
文件的頭部描述了文件的各種屬性和資訊,包括文件的標題、在 Web 中的位置以及和其他文件的關係等。絕大多數文件頭部包含的資料都不會真正作為內容顯示給讀者。
下面這些標籤可用在 head
部分:base
, link
, meta
, script
, style
, 以及 title
。
注意:
應該把 head
標籤放在文件的開始處,緊跟在 html
後面,並處於 body
標籤或 frameset
標籤之前。
3. title 標籤
title
定義文件的標題,它是 head
部分中唯一必需的元素。瀏覽器會以特殊的方式來使用標題,設定的內容不會顯示在頁面中,通常把它放置在瀏覽器視窗的標題欄或狀態列上,如設定為空標題展示當前頁面的地址資訊。
當把文件加入使用者的連結列表或者收藏夾或書籤列表時,標題將成為該文件連結的預設名稱。
1. dir 屬性
規定元素中內容的文字方向rtl
、ltr
。
2. lang 屬性
規定元素中內容的語言程式碼。
4. meta 標籤
meta
元素往往不會引起使用者的注意,但是meta
對整個網頁有影響,會對網頁能否被搜尋引擎檢索,和在搜尋中的排名起著關鍵性的作用。
meta
有個必須的屬性content
用於表示需要設定的項的值。
meta
存在兩個非必須的屬性http-equiv
和name
, 用於表示要設定的項。
比如<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
,設定的項是Content-Security-Policy
設定的值是upgrade-insecure-requests
。
1. http-equiv 屬性
http-equiv
一般設定的都是與http
請求頭相關的資訊,設定的值會關聯到http頭部。也就是說瀏覽器在請求伺服器獲取html
的時候,伺服器會將html
中設定的meta
放在響應頭中返回給瀏覽器。常見的型別比如content-type
, expires
, refresh
, set-cookie
, window-target
, charset
, pragma
等等。
1. content-type
比如:<meta http-equiv="content-type" content="text/html charset=utf8">
可以用來宣告文件型別,設定字符集,content-type
幾乎所有的屬性都可以在meta
中進行設定。
這樣設定瀏覽器的頭資訊就會包含:
content-type: text/html charset=utf8
複製程式碼
2. expires
用於設定瀏覽器的過期時間, 其實就是響應頭中的expires屬性。
<meta http-equiv="expires" content="31 Dec 2021">
expires:31 Dec 2008
複製程式碼
3. refresh
該種設定表示5秒自動重新整理並且跳轉到指定的網頁。如果不設定url的值那麼瀏覽器則重新整理本網頁。
<meta http-equiv="refresh" content="5 url=http://www.zhiqianduan.com">
4. window-target
強制頁面在當前視窗以獨立頁面顯示, 可以防止別人在框架中呼叫自己的頁面。
<meta http-equiv="window-target" content="_top'>
5. pragma
禁止瀏覽器從本地計算機的快取中訪問頁面的內容
<meta http-equiv="pragma" content="no-cache">
2. name 屬性
name
屬性主要用於描述網頁,與對應的content
中的內容主要是便於搜尋引擎查詢資訊和分類資訊用的, 用法與http-equiv
相同,name
設定屬性名,content
設定屬性值。
1. author
author
用來標註網頁的作者
<meta name="aaa" content="aaa@mail.abc.com">
2. description
description
用來告訴搜素引擎當前網頁的主要內容,是關於網站的一段描述資訊。
<meta name="description" content="這是我的HTML">
3. keywords
keywords
設定網頁的關鍵字,來告訴瀏覽器關鍵字是什麼。是一個經常被用到的名稱。它為文件定義了一組關鍵字。某些搜尋引擎在遇到這些關鍵字時,會用這些關鍵字對文件進行分類。
<meta name="keywords" content="Hello world">
4. generator
表示當前html
是用什麼工具編寫生成的,並沒有實際作用,一般是編輯器自動建立的。
<meta name="generator" content="vscode">
5. revised
指定頁面的最新版本
<meta name="revised" content="V2,2015/10/1">
6. robots
告訴搜尋引擎機器人抓取哪些頁面,all / none / index / noindex / follow / nofollow
。
<meta name="robots" content="all">
all
:檔案將被檢索,且頁面上的連結可以被查詢; none
:檔案將不被檢索,且頁面上的連結不可以被查詢; index
:檔案將被檢索; follow
:頁面上的連結可以被查詢; noindex
:檔案將不被檢索,但頁面上的連結可以被查詢; nofollow
:檔案將不被檢索,頁面上的連結可以被查詢。
3. scheme 屬性
scheme
屬性用於指定要用來翻譯屬性值的方案。此方案應該在由 head
標籤的 profile
屬性指定的概況檔案中進行了定義。
5. base 標籤
base
標籤定義了文件的基礎url
地址,在文件中所有的相對地址形式的url
都是相對於這裡定義的url
而言的。為頁面上的連結規定預設地址或目標。
base標籤包含的屬性。
1. href
href
是必選屬性,指定了文件的基礎url
地址。例如,如果希望將文件的基礎URL定義為https://www.abc.com
,則可以使用如下語句:<base href="http://www.abc.com">
如果文件的超連結指向welcom.html
,則它實際上指向的是如下url
地址:https://www.abc.com/welocme.html
。
target
定義了當文件中的連結
點選後的開啟方式_blank
,_self
,_parrent
,_top
。
6. link 標籤
link
用於引入外部樣式表,在html
的頭部可以包含任意數量的link
,link
標籤有以下常用屬性。
1. type
定義包含的文件型別,例如text/css
2. rel
定義html
文件和所要包含資源之間的連結關係,可能的值有很多,最為常用的是stylesheet
,用於包含一個固定首選樣式的表單。
3. href
表示指向被包含資源的url
地址。
7. style 標籤
編寫內部樣式表的標籤。
8. script 標籤
載入javascript
指令碼的標籤。載入的指令碼會被預設執行。預設情況下當瀏覽器解析到script
標籤的時候會停止html
的解析而開始載入script
程式碼並且執行。
<script src="script.js"></script>
1. type
指示指令碼的MIME
型別。<script type="text/javascript">
。
2. async
規定非同步執行指令碼,僅適用於透過src
引入的外部指令碼。設定的async
屬性的script
載入和執行不會影響後面html
的解析,載入及執行是與文件解析同時發生的。
<script async src="script.js"></script>
3. charset
規定在外部指令碼檔案中使用的字元編碼。
4. defer
規定是否對指令碼執行進行延遲,直到頁面載入為止。設定了defer
屬性的script
不會阻止後面html
的解析,載入與解析是共同進行的,但是script
的執行要在所有元素解析完成之後,DOMContentLoaded
事件觸發之前完成。
<script defer src="myscript.js"></script>
5. language
規定指令碼語言,與``type```功能類似,不建議使用該欄位。
6. src
外部指令碼的地址。
9. bgsound
網站背景音樂。
<bgsound src="" autostart="" loop="">
1. src
表示背景音樂的url
值。
2. autostart
是否自動播放ture
自動播放,false
不播放,預設為false
。
3. loop
是否重複播放,值為數字或者infinite
,表示重複具體次或無限次。
本作品採用《CC 協議》,轉載必須註明作者和本文連結