TextTrack: mode 屬性
TextTrack 介面的 mode 屬性是一個字串,用於指定和控制文字軌道的模式:disabled(停用)、hidden(隱藏)或 showing(顯示)。您可以讀取此值來確定當前模式,也可以更改此值來切換模式。
在實現自己的影片播放器控制元件時,Safari 還要求將 default 布林屬性設定為 true,以便顯示字幕提示。
值
一個指示軌道當前模式的字串。可能的值包括:
disabled-
文字軌道當前被停用。雖然軌道的存在在 DOM 中可見,但使用者代理其他方面會忽略它。沒有活動提示,也沒有觸發事件,使用者代理也不會嘗試獲取軌道的提示。這是預設值,除非文字軌道具有
default布林屬性,在這種情況下,預設值為showing。 -
文字軌道當前是活動的,但提示未顯示。如果使用者代理尚未嘗試獲取軌道的提示,它將很快執行此操作(從而填充軌道的
TextTrack.cues屬性)。使用者代理正在維護活動提示的列表(在軌道的TextTrack.activeCues屬性中),並且在相應的時間會觸發事件,即使文字未顯示。 showing-
文字軌道當前已啟用並且可見。如果軌道的提示列表尚未獲取,它將很快被獲取。
TextTrack.activeCues列表正在維護,並在適當的時間觸發事件;軌道的文字也會根據樣式和軌道的kind進行適當的繪製。如果文字軌道的default布林屬性被指定,則這是預設值。
用法說明
預設 mode 為 disabled,除非指定了 default 布林屬性,在這種情況下,預設 mode 為 showing。當文字軌道以 disabled 狀態載入時,相應的 WebVTT 檔案直到狀態更改為 showing 或 hidden 才會載入。這樣,在實際需要提示之前,可以避免資源獲取和記憶體使用。
然而,這意味著,如果您希望在處理例如 load 事件時執行任何涉及軌道提示的操作——例如,在頁面載入時處理提示的某些方面——並且軌道模式最初為 disabled,您必須將 mode 更改為 hidden 或 showing 才能觸發提示的載入。
當模式為 showing 時,文字軌道會被執行。這種執行的確切外觀和方式取決於每個文字軌道的 kind。一般來說,
kind為"subtitles"或"captions"的軌道會渲染提示併疊加在影片上方。kind為"descriptions"的軌道會以非視覺形式呈現(例如,可能會朗讀文字來描述影片中的動作)。kind為"chapters"的軌道會被使用者代理、網站或 Web 應用程式用於構建和呈現導航命名章節的介面,其中列表中的每個提示代表媒體中的一個章節。使用者隨後可以導航到所需的章節,該章節從提示的開始位置開始,到提示的結束位置結束。
示例
在此示例中,我們配置文字軌道的提示,以便每次提示結束時,影片都會自動暫停播放。這是透過將每個提示的 TextTrackCue.pauseOnExit 屬性設定為 true 來實現的。但是,為了確保軌道提示可用,我們首先將 mode 設定為 showing。
let trackElem = document.querySelector("track");
let track = trackElem.track;
track.mode = "showing";
for (const cue of track.cues) {
cue.pauseOnExit = true;
}
規範
| 規範 |
|---|
| HTML # dom-texttrack-mode-dev |
瀏覽器相容性
載入中…