文件:browsingTopics() 方法
非標準:此特性未標準化。我們不建議在生產環境中使用非標準特性,因為它們瀏覽器支援有限,並且可能會更改或被移除。但是,在沒有標準選項的特定情況下,它們可以是合適的替代方案。
警告:此功能目前遭到兩家瀏覽器供應商的反對。有關反對的詳細資訊,請參閱下面的標準立場部分。
注意:在您的應用程式中使用此功能需要註冊過程。
Document 介面的 browsingTopics() 方法返回一個 Promise,該 Promise 兌現一個物件陣列,表示使用者的熱門話題,每個物件來自過去三個週期中的一個。這些話題隨後可以在後續的 fetch 請求中返回給廣告技術平臺。預設情況下,該方法還會導致瀏覽器記錄呼叫者觀察到的當前頁面訪問,以便頁面的主機名稍後可用於話題計算。
有關更多詳細資訊,請參閱使用 Topics API。
注意: browsingTopics() 不依賴 HTTP 標頭來發送話題並將其標記為已觀察,不像其他Topics API 啟用功能,但其效能略低。建議您使用 HTTP 標頭功能,僅在無法修改標頭的情況下才退回使用 browsingTopics()。
語法
browsingTopics()
browsingTopics(options)
引數
options可選-
一個選項物件,可以包含以下屬性:
skipObservation-
一個布林值,如果設定為
true,則在呼叫browsingTopics()時,瀏覽器將不觀察話題。預設值為false,這將導致話題被觀察。
返回值
一個Promise,它兌現一個數組,其中包含最多三個物件,代表當前使用者在過去三個週期中選擇的話題。每個物件包含以下屬性:
configVersion-
一個字串,標識用於計算話題的演算法(模型部分除外)。
modelVersion-
一個字串,表示用於將字串(如網頁的主機名)分類為話題 ID 的模型。
taxonomyVersion-
一個字串,表示使用的分類法版本。
topic-
一個數字,表示話題的 ID,瀏覽器可以使用它從分類法中檢索話題(參見一個興趣分類法示例)。
版本-
configVersion、modelVersion和taxonomyVersion,用冒號 (:) 連線。
確切的屬性值可能因瀏覽器實現而異。來自 Chrome 的示例物件可能如下所示:
{
"configVersion": "chrome.1",
"modelVersion": "1",
"taxonomyVersion": "1",
"topic": 43,
"version": "chrome.1:1:1"
}
異常
NotAllowedErrorDOMException-
在以下情況下丟擲
- 使用 Topics API 受
browsing-topics許可權策略的限制。 - 呼叫站點未在成功的隱私沙盒註冊過程中包含 Topics API。
- 使用 Topics API 受
示例
// Get an array of top topics for this user
const topics = await document.browsingTopics();
// Request an ad creative
const response = await fetch("https://ads.example/get-creative", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(topics),
});
// Get the JSON from the response
const creative = await response.json();
// Display ad
規範
此功能不是官方標準的一部分,儘管它在Topics API 非官方提案草案中有所說明。
瀏覽器相容性
載入中…