runtime.MessageSender

一個包含有關訊息傳送者或連線請求資訊的物件,該物件會傳遞給 runtime.onMessage() 偵聽器。

它也是 runtime.Port 的一個屬性,但僅在傳遞給 runtime.onConnect()runtime.onConnectExternal() 偵聽器的 Port 例項中。

型別

此型別的值是物件。它們包含以下屬性:

documentId 可選

string。開啟連線的文件的 UUID。

documentLifecycle 可選

string。開啟連線的文件在建立 port 時所處的生命週期狀態。請注意,文件的生命週期狀態可能自 port 建立以來已發生變化。

frameId 可選

integer。開啟連線的 frame。頂層 frame 為零,子 frame 為正。僅在設定了 tab 時設定。

id 可選

string。傳送訊息的擴充套件程式的 ID,如果訊息是由擴充套件程式傳送的。如果傳送者的 ID 使用 manifest.json 中的 browser_specific_settings 鍵顯式設定,則 id 具有此值。否則,它具有為傳送者生成的 ID。

origin 可選

string。開啟連線的頁面或 frame 的源。它可能與 url 屬性不同(例如,about:blank)或不透明(例如,沙盒 iframe)。如果源無法從 URL 中顯現,這對於確定源是否可信很有用。

tab 可選

tabs.Tab。開啟連線的 tabs.Tab。僅當連線是從 tab(包括內容指令碼)開啟時,此屬性才存在。

tlsChannelId 可選

string。開啟連線的頁面或 frame 的 TLS 通道 ID,如果擴充套件程式請求且可用。

url 可選

string。託管傳送訊息的指令碼的頁面或 frame 的 URL。

如果傳送者是在擴充套件程式頁面(例如 background pageoptions pagebrowser actionpage action popup)中執行的指令碼,則 URL 的格式為 "moz-extension://<extension-internal-id>/path/to/page.html"。如果傳送者是 background script 並且您未包含 background page,則為 "moz-extension://<extension-internal-id>/_generated_background_page.html"

如果傳送者是在網頁(包括內容指令碼和普通頁面指令碼)中執行的指令碼,則 url 是網頁 URL。如果指令碼在 iframe 中執行,則 url 是 iframe 的 URL。

userScriptWorldId 可選

string。傳送訊息的 USER_SCRIPT world 的 worldId。僅在 runtime.onUserScriptMessage 中以及 port.sender 中對於 runtime.onUserScriptConnect 存在。

瀏覽器相容性

注意:此 API 基於 Chromium 的 chrome.runtime API。本文件來源於 Chromium 程式碼中的 runtime.json