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()
ارائه دهد.
مشارکت کنید و بازخورد را به اشتراک بگذارید
توجه داشته باشید که پیشنهاد مشترک ذخیره سازی API در دست بحث و توسعه فعال است و بنابراین ممکن است تغییر کند.
ما مشتاقیم نظرات شما را در مورد API ذخیره سازی مشترک بشنویم.
- پیشنهاد : پیشنهاد تفصیلی را بررسی کنید.
- بحث : به بحث در حال انجام بپیوندید تا سوال بپرسید و بینش خود را به اشتراک بگذارید.
در جریان باشید
- فهرست پستی : برای آخرین بهروزرسانیها و اطلاعیههای مربوط به API ذخیرهسازی مشترک، در فهرست پستی ما مشترک شوید.
به کمک نیاز دارید؟
- پشتیبانی برنامه نویس : با سایر توسعه دهندگان ارتباط برقرار کنید و در مخزن پشتیبانی برنامه نویس Privacy Sandbox پاسخ سوالات خود را دریافت کنید.