文件:browsingTopics() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

非標準:此特性未標準化。我們不建議在生產環境中使用非標準特性,因為它們瀏覽器支援有限,並且可能會更改或被移除。但是,在沒有標準選項的特定情況下,它們可以是合適的替代方案。

警告:此功能目前遭到兩家瀏覽器供應商的反對。有關反對的詳細資訊,請參閱下面的標準立場部分。

注意:在您的應用程式中使用此功能需要註冊過程

Document 介面的 browsingTopics() 方法返回一個 Promise,該 Promise 兌現一個物件陣列,表示使用者的熱門話題,每個物件來自過去三個週期中的一個。這些話題隨後可以在後續的 fetch 請求中返回給廣告技術平臺。預設情況下,該方法還會導致瀏覽器記錄呼叫者觀察到的當前頁面訪問,以便頁面的主機名稍後可用於話題計算。

有關更多詳細資訊,請參閱使用 Topics API

注意: browsingTopics() 不依賴 HTTP 標頭來發送話題並將其標記為已觀察,不像其他Topics API 啟用功能,但其效能略低。建議您使用 HTTP 標頭功能,僅在無法修改標頭的情況下才退回使用 browsingTopics()

語法

js
browsingTopics()
browsingTopics(options)

引數

options 可選

一個選項物件,可以包含以下屬性:

skipObservation

一個布林值,如果設定為 true,則在呼叫 browsingTopics() 時,瀏覽器將觀察話題。預設值為 false,這將導致話題被觀察。

返回值

一個Promise,它兌現一個數組,其中包含最多三個物件,代表當前使用者在過去三個週期中選擇的話題。每個物件包含以下屬性:

configVersion

一個字串,標識用於計算話題的演算法(模型部分除外)。

modelVersion

一個字串,表示用於將字串(如網頁的主機名)分類為話題 ID 的模型。

taxonomyVersion

一個字串,表示使用的分類法版本。

topic

一個數字,表示話題的 ID,瀏覽器可以使用它從分類法中檢索話題(參見一個興趣分類法示例)。

版本

configVersionmodelVersiontaxonomyVersion,用冒號 (:) 連線。

確切的屬性值可能因瀏覽器實現而異。來自 Chrome 的示例物件可能如下所示:

json
{
  "configVersion": "chrome.1",
  "modelVersion": "1",
  "taxonomyVersion": "1",
  "topic": 43,
  "version": "chrome.1:1:1"
}

異常

NotAllowedError DOMException

在以下情況下丟擲

示例

js
// 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 非官方提案草案中有所說明。

瀏覽器相容性

另見