HTMLImageElement:attributionSrc 属性

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中。

实验性:这是一个实验性技术
在生产环境中使用此功能之前,请仔细查看浏览器兼容性表

attributionSrcHTMLImageElement接口的属性,用于以编程方式获取和设置attributionsrc属性(位于<img>元素上),反映该属性的值。attributionsrc指定您希望浏览器在图像请求中发送Attribution-Reporting-Eligible标头。

在服务器端,这用于触发在响应中发送Attribution-Reporting-Register-SourceAttribution-Reporting-Register-Trigger标头,以分别注册基于图像的归因源归因触发器。应发送回哪个响应标头取决于触发注册的Attribution-Reporting-Eligible标头的值。

一旦浏览器收到包含图像文件的响应,源/触发器就会被注册。

注意:请记住,用户可能不一定能够感知到图像——它可能是一个仅用于归因报告的 1x1 透明跟踪像素。

有关更多详细信息,请参阅归因报告 API

一个字符串。您可以获取和设置此属性的两个版本

  • 空字符串,即imgElem.attributionSrc=""。这表示您希望将Attribution-Reporting-Eligible标头发送到与src属性指向的服务器相同的服务器。当您在同一服务器上处理归因源或触发器注册时,这很好。在注册归因触发器时,此属性是可选的,如果省略,将使用空字符串值。
  • 包含一个或多个 URL 的值,例如
    js
    imgElem.attributionSrc =
      "https://a.example/register-source https://b.example/register-source";
    
    这在请求的资源不在您控制的服务器上,或者您只想在不同的服务器上处理归因源注册的情况下非常有用。在这种情况下,您可以将一个或多个 URL 指定为attributionSrc的值。当发生资源请求时,Attribution-Reporting-Eligible标头将发送到attributionSrc中指定的 URL(以及资源来源)。然后,这些 URL 可以根据需要响应Attribution-Reporting-Register-SourceAttribution-Reporting-Register-Trigger标头以完成注册。

    注意:指定多个 URL 意味着可以在同一功能上注册多个归因源。例如,您可能有不同的广告系列,您试图衡量其成功率,这涉及到在不同的数据上生成不同的报告。

示例

设置空 attributionSrc

html
<img src="advertising-image.png" />
js
const imgElem = document.querySelector("img");
imgElem.attributionSrc = "";

设置包含 URL 的 attributionSrc

html
<img src="advertising-image.png" />
js
// encode the URLs in case they contain special characters
// such as '=' that would be improperly parsed.
const encodedUrlA = encodeURIComponent("https://a.example/register-source");
const encodedUrlB = encodeURIComponent("https://b.example/register-source");

const imgElem = document.querySelector("img");
imgElem.attributionSrc = `${encodedUrlA} ${encodedUrlB}`;

规范

规范
归因报告
# dom-htmlattributionsrcelementutils-attributionsrc

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅