HTMLScriptElement:attributionSrc 属性

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

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

attributionSrcHTMLScriptElement接口的一个属性,用于以编程方式获取和设置attributionsrc属性,该属性位于<script>元素上,反映了该属性的值。attributionsrc指定您希望浏览器在脚本资源请求中发送Attribution-Reporting-Eligible标头。

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

注意:或者,可以通过发送包含attributionReporting选项的fetch()请求(直接在fetch()调用中设置或在传递到fetch()调用的Request对象上设置),或通过发送带有setAttributionReporting()在请求对象上调用的XMLHttpRequest来注册基于 JavaScript 的归因来源或触发器。

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

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

  • 空字符串,即scriptElem.attributionSrc=""。这表示您希望将Attribution-Reporting-Eligible标头发送到与src属性指向相同的服务器。当您在同一服务器上处理归因来源或触发器注册时,这很好。注册归因触发器时,此属性是可选的,如果省略,将使用空字符串值。
  • 包含一个或多个 URL 的值,例如
    js
    scriptElem.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
<script src="advertising-script.js"></script>
js
const scriptElem = document.querySelector("script");
scriptElem.attributionSrc = "";

设置包含 URL 的 attributionSrc

html
<script src="advertising-script.js"></script>
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 scriptElem = document.querySelector("script");
scriptElem.attributionSrc = `${encodedUrlA} ${encodedUrlB}`;

规范

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

浏览器兼容性

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

另请参阅