Chrome 130 تغییراتی را در Shared Storage API ارائه میکند تا امکان استفاده از اسکریپتهای worklet متقاطع با createWorklet()
و addModule()
فراهم کند. همچنین بهروزرسانیهایی را برای Select URL API با فضای ذخیرهسازی مشترک در Chrome 132 با پشتیبانی از عبارتهای جستجوی ذخیره شده معرفی میکنیم.

ورکلتهای متقاطع با API ذخیرهسازی مشترک در Chrome 130
ما تغییراتی را در Shared Storage API در Chrome 130 ارائه کردهایم تا هنگام کار با اسکریپتهای Worklet با منبع متقاطع، انعطافپذیری بیشتری به شما بدهیم.
چه چیزی تغییر کرده است
ما محدودیت یک منبع را برای addModule()
حذف کردهایم، بنابراین اکنون میتوانید اسکریپتهای Worklet را از هر منبعی بارگیری کنید. اسکریپتهای Worklet با منبع متقابل موارد استفاده کلیدی مانند میزبانی اسکریپتهای Worklet را در CDNها فعال میکنند. هنگامی که اسکریپت Worklet با مبدأ متقابل در زمینه مرور فراخوانی است، مبدا متن فراخوانی به عنوان مبدا پارتیشن داده برای دسترسی به فضای ذخیرهسازی مشترک استفاده میشود.
برای مطابقت با رفتار addModule()
جدید، و کاهش سردرگمی بالقوه، ویژگی dataOrigin
به فراخوانی createWorklet()
اضافه شده است تا امکان خواندن و نوشتن در یک پارتیشن داده ذخیرهسازی اشتراکی را فراهم کند که با زمینه مرور فراخوانی متفاوت است. این امر به شما امکان میدهد کنترل دقیقتری بر روی اینکه کدام منبع ذخیرهسازی مشترک توسط هر Worklet قابل دسترسی است، حتی در هنگام استفاده از اسکریپتهای worklet متقاطع.
چگونه تغییر کرده است
از Chrome 125، یک اسکریپت متقابل شخص ثالث در یک صفحه میتواند بدون نیاز به iframe با منبع متقابل با فراخوانی createWorklet(url)
Workletهای متقاطع ایجاد کند. قبلا، createWorklet(url)
از مبدا URL اسکریپت ( url
) به عنوان مبدا پارتیشن داده استفاده می کرد، صرف نظر از زمینه فراخوانی.
در کروم 130، برای تراز کردن با رفتار addModule()
جدید، createWorklet()
همچنین از زمینه فراخوانی به عنوان مبدا پارتیشن داده پیش فرض استفاده می کند. برای ادامه استفاده از مبدا URL اسکریپت به عنوان مبدا پارتیشن داده، یک ویژگی dataOrigin
جدید معرفی شده است تا به شما امکان می دهد به طور صریح مبدا پارتیشن داده را تنظیم کنید.
ویژگی dataOrigin
جدید "script-origin"
را می پذیرد که مبدا پارتیشن داده را به عنوان مبدا اسکریپت تنظیم می کند و "context-origin"
را که مبدا پارتیشن داده را به عنوان مبدا متن مرور فراخوانی تنظیم می کند. در نسخه آتی، ما همچنین قصد داریم از مبداهای پارتیشن داده های سفارشی پشتیبانی کنیم، جایی که یک اسکریپت Worklet می تواند به داده های ذخیره سازی مشترک از یک منبع دلخواه بر اساس انتخاب کردن دسترسی داشته باشد.
هنگام بارگیری یک اسکریپت با مبدا متقاطع با مبدا داده تنظیم شده روی "script-origin"
، درخواست اسکریپت ارسال شده از مرورگر شامل سرصفحه "Sec-Shared-Storage-Data-Origin: <origin>"
خواهد بود. برای فعال کردن این کار، اسکریپت باید شامل سرصفحه پاسخ انتخابی "Shared-Storage-Cross-Origin-Worklet-Allowed: ?1"
نیز باشد.
نحوه استفاده
اگر در حال حاضر از createWorklet()
با مبدا اسکریپت به عنوان مبدا پارتیشن داده worklet استفاده می کنید، می توانید dataOrigin
به صورت زیر تنظیم کنید:
sharedStorage.createWorklet(scriptUrl, {dataOrigin: "script-origin"});
از آنجایی که createWorklet()
اجازه ایجاد یک پارتیشن داده متقاطع و ایجاد چندین Worklet را می دهد، ما شما را تشویق می کنیم که به createWorklet()
روی استفاده از addModule()
انتقال دهید.
ما اسناد برنامهنویس را بهروزرسانی کردهایم تا این تغییرات را منعکس کرده و راهنماییهای بیشتری ارائه کنیم.
جستجوهای ذخیره شده با Select URL API در Chrome 132
ما بهروزرسانیهایی را برای Select URL API با فضای ذخیرهسازی مشترک در Chrome 132 با پشتیبانی از عبارتهای جستجوی ذخیره شده معرفی میکنیم.
چه چیزی در حال تغییر است
انتخاب URL API در حال حاضر دارای دو بودجه برای بارگذاری صفحه است که تعداد تماسهای برقرار شده با API را در هر بارگذاری صفحه محدود میکند. ما در حال معرفی توانایی ذخیره و استفاده مجدد از پرس و جوها بر اساس هر صفحه هستیم. هنگامی که از یک پرس و جو ذخیره شده استفاده می کنید، اولین باری که یک پرس و جو ذخیره شده اجرا می شود، بودجه هر صفحه بارگیری می شود، اما نه برای اجرای بعدی پرس و جو ذخیره شده در همان بارگذاری صفحه.
نحوه پیاده سازی کوئری های ذخیره شده
با شروع نسخه Chrome 132، می توانید از پارامتر savedQuery
در گزینه های selectURL()
با نام پرس و جو استفاده کنید:
await sharedStorage.selectURL('experiment', urls, {
savedQuery: 'control_or_experiment',
keepAlive: true
});
از همان نام savedQuery
برای هر تماس با selectURL()
استفاده کنید تا مطمئن شوید که درخواستهای بعدی به همان بودجه پرداخت میشوند.
ما اسناد را بهروزرسانی کردهایم تا این تغییرات را منعکس کند و جزئیات بیشتری در مورد بودجهبندی برای selectURL()
ارائه دهد.
互动和分享反馈
请注意,Shared Storage API 提案正在积极讨论和开发中,因此可能会发生变化。
我们非常期待听到您对 Shared Storage API 的看法。
掌握最新动态
- 邮寄名单:订阅我们的邮寄名单,及时了解与 Shared Storage API 相关的最新动态和公告。
需要帮助?
- 开发者支持:在 Privacy Sandbox 开发者支持代码库中与其他开发者联系,并获取问题解答。