HTMLScriptElement:attributionSrc 属性
attributionSrc
是HTMLScriptElement
接口的一个属性,用于以编程方式获取和设置attributionsrc
属性,该属性位于<script>
元素上,反映了该属性的值。attributionsrc
指定您希望浏览器在脚本资源请求中发送Attribution-Reporting-Eligible
标头。
在服务器端,这用于触发在响应中发送Attribution-Reporting-Register-Source
或Attribution-Reporting-Register-Trigger
标头,以分别注册基于 JavaScript 的归因来源或归因触发器。应发送哪个响应标头取决于触发注册的Attribution-Reporting-Eligible
标头的值。
注意:或者,可以通过发送包含attributionReporting
选项的fetch()
请求(直接在fetch()
调用中设置或在传递到fetch()
调用的Request
对象上设置),或通过发送带有setAttributionReporting()
在请求对象上调用的XMLHttpRequest
来注册基于 JavaScript 的归因来源或触发器。
有关更多详细信息,请参阅归因报告 API。
值
字符串。您可以获取和设置此属性的两个版本
- 空字符串,即
scriptElem.attributionSrc=""
。这表示您希望将Attribution-Reporting-Eligible
标头发送到与src
属性指向相同的服务器。当您在同一服务器上处理归因来源或触发器注册时,这很好。注册归因触发器时,此属性是可选的,如果省略,将使用空字符串值。 - 包含一个或多个 URL 的值,例如这在请求的资源不在您控制的服务器上,或者您只想在不同的服务器上处理归因来源注册的情况下很有用。在这种情况下,您可以将一个或多个 URL 指定为js
scriptElem.attributionSrc = "https://a.example/register-source https://b.example/register-source";
attributionSrc
的值。当资源请求发生时,Attribution-Reporting-Eligible
标头将除了资源来源之外还发送到attributionSrc
中指定的一个或多个 URL。然后,这些 URL 可以根据需要响应Attribution-Reporting-Register-Source
或Attribution-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 的浏览器中加载。