WindowSharedStorage
WindowSharedStorage
是 共享存储 API 的一个接口,它代表标准浏览上下文中特定来源的共享存储。
可以通过 Window.sharedStorage
访问 WindowSharedStorage
。
实例属性
worklet
实验性-
包含表示当前来源的共享存储工作线程的
SharedStorageWorklet
实例。SharedStorageWorklet
包括addModule()
方法,该方法用于向共享存储工作线程添加模块。
实例方法
WindowSharedStorage
继承自其父接口 SharedStorage
的属性。
run()
实验性-
执行已在添加到当前来源的
SharedStorageWorklet
的模块中注册的 运行输出网关 操作。 selectURL()
实验性-
执行已在添加到当前来源的
SharedStorageWorklet
的模块中注册的 URL 选择输出网关 操作。
示例
js
// Randomly assigns a user to a group 0 or 1
function getExperimentGroup() {
return Math.round(Math.random());
}
async function injectContent() {
// Add the module to the shared storage worklet
await window.sharedStorage.worklet.addModule("ab-testing-worklet.js");
// Assign user to a random group (0 or 1) and store it in shared storage
window.sharedStorage.set("ab-testing-group", getExperimentGroup(), {
ignoreIfPresent: true,
});
// Run the URL selection operation
const fencedFrameConfig = await window.sharedStorage.selectURL(
"ab-testing",
[
{ url: `https://your-server.example/content/default-content.html` },
{ url: `https://your-server.example/content/experiment-content-a.html` },
],
{
resolveToConfig: true,
},
);
// Render the chosen URL into a fenced frame
document.getElementById("content-slot").config = fencedFrameConfig;
}
injectContent();
请参阅 共享存储 API 着陆页,以获取此示例的演练以及其他示例的链接。
规范
规范 |
---|
共享存储 API # windowsharedstorage |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。