chrome.extensionTypes

說明

chrome.extensionTypes API 包含 Chrome 擴充功能的型別宣告。

類型

ColorArray

Chrome 139 以上版本

類型

[數字、數字、數字、數字]

CSSOrigin

Chrome 66 以上版本

注入 CSS 的來源

列舉

「author」

「user」

DeleteInjectionDetails

Chrome 87 以上版本

要移除的 CSS 詳細資料。必須設定程式碼或檔案屬性,但不能同時設定兩者。

屬性

  • allFrames

    布林值 選填

    如果 allFrames 為 true,表示應從目前網頁的所有框架中移除 CSS。根據預設,系統會移除頂端影格的 false。如果設定 trueframeId,系統會從所選影格和所有子影格中移除程式碼。

  • 程式碼

    字串 選填

    要移除的 CSS 程式碼。

  • cssOrigin

    CSSOrigin 選填

    要移除的 CSS 來源。預設為 "author"

  • 檔案

    字串 選填

    要移除的 CSS 檔案。

  • frameId

    號碼 選填

    要移除 CSS 的影格。預設值為 0 (頂層影格)。

  • matchAboutBlank

    布林值 選填

    如果 matchAboutBlank 為 true,且擴充功能有權存取父項文件,系統也會從 about:blank 和 about:srcdoc 框架中移除程式碼。預設值為 false

DocumentLifecycle

Chrome 106 以上版本

影格的文件生命週期。

列舉

「prerender」

「active」

「已快取」

「pending_deletion」

ExecutionWorld

Chrome 111 以上版本

指令碼要在其中執行的 JavaScript 世界。可以是這個擴充功能專屬的獨立世界、與網頁 JavaScript 共用的 DOM 主要世界,或是僅適用於透過 User Scripts API 註冊的指令碼的使用者指令碼世界。

列舉

「ISOLATED」

「MAIN」

「USER_SCRIPT」

FrameType

Chrome 106 以上版本

影格類型。

列舉

「outermost_frame」

「fenced_frame」

「sub_frame」

ImageDataType

Chrome 139 以上版本

圖片的像素資料。必須是 ImageData 物件,例如來自 canvas 元素。

類型

ImageData

ImageDetails

圖片的格式、品質和區域詳細資料。

屬性

  • format

    ImageFormat 選填

    結果圖片的格式。預設值為 "jpeg"

  • quality

    號碼 選填

    如果格式為 "jpeg",則可控制產生的圖片品質。系統會忽略 PNG 圖片的這項值。品質越低,產生的圖片就越容易出現視覺失真,但儲存圖片所需的位元組數也會減少。

ImageFormat

Chrome 44 以上版本

圖片格式。

列舉

「jpeg」

「png」

InjectDetails

要插入的指令碼或 CSS 詳細資料。必須設定程式碼或檔案屬性,但不能同時設定兩者。

屬性

  • allFrames

    布林值 選填

    如果 allFrames 為 true,表示 JavaScript 或 CSS 應插入目前網頁的所有框架。根據預設,這個值為 false,且只會注入頂端框架。如果設定 trueframeId,程式碼會插入所選框架及其所有子框架。

  • 程式碼

    字串 選填

    要插入的 JavaScript 或 CSS 程式碼。

    警告:請謹慎使用 code 參數。如果使用不當,擴充功能可能會遭受跨網站指令碼攻擊

  • cssOrigin

    CSSOrigin 選填

    Chrome 66 以上版本

    要插入的 CSS 來源。這項設定只能用於 CSS,不能用於 JavaScript。預設為 "author"

  • 檔案

    字串 選填

    要插入的 JavaScript 或 CSS 檔案。

  • frameId

    號碼 選填

    Chrome 50 以上版本

    要注入指令碼或 CSS 的框架。預設值為 0 (頂層影格)。

  • matchAboutBlank

    布林值 選填

    如果 matchAboutBlank 為 true,且擴充功能有權存取父項文件,系統也會在 about:blank 和 about:srcdoc 框架中插入程式碼。程式碼無法插入頂層 about:-frames。預設值為 false

  • runAt

    RunAt 選填

    JavaScript 或 CSS 最快會注入分頁中。預設值為「document_idle」。

RunAt

Chrome 44 以上版本

JavaScript 或 CSS 最快會注入分頁的時間。

列舉

「document_start」
系統會在 CSS 檔案之後注入指令碼,但會在建構任何其他 DOM 或執行任何其他指令碼之前注入。

「document_end」
系統會在 DOM 完成後立即注入指令碼,但圖片和影格等子資源載入前。

「document_idle」
瀏覽器會選擇在「document_end」和 window.onload 事件觸發後之間的時間,插入指令碼。實際注入時間取決於文件的複雜程度和載入時間,並會針對網頁載入速度進行最佳化。在「document_idle」執行的內容指令碼不需要監聽 window.onload 事件,因為系統保證會在 DOM 完成後執行這些指令碼。如果指令碼確實需要在 window.onload 之後執行,擴充功能可以使用 document.readyState 屬性,檢查 onload 是否已觸發。