শেয়ার্ড স্টোরেজ এবং ইউআরএল আপডেট নির্বাচন করুন: ক্রস-অরিজিন ওয়ার্কলেট এবং সেভ করা প্রশ্ন

তারা অগয়েমং
Tara Agyemang

createWorklet() এবং addModule() এর সাথে ক্রস-অরিজিন ওয়ার্কলেট স্ক্রিপ্টের ব্যবহার সক্ষম করতে Chrome 130 শেয়ার্ড স্টোরেজ এপিআই -তে পরিবর্তন এনেছে। আমরা সংরক্ষিত প্রশ্নগুলির সমর্থনে Chrome 132-এ শেয়ার্ড স্টোরেজ সহ সিলেক্ট URL API-এর আপডেটও প্রবর্তন করছি৷

নথিভুক্ত সাইটগুলি দেখানো ডায়াগ্রাম শেয়ার্ড স্টোরেজে যেকোনো ধরনের কী/মান ডেটা লিখতে পারে, কিন্তু ডেটা আউট পড়া নির্দিষ্ট আউটপুট API-এ সীমাবদ্ধ।
শেয়ার্ড স্টোরেজ API নথিভুক্ত সাইটগুলিকে শেয়ার্ড স্টোরেজে যেকোনো ধরনের কী/মান ডেটা লিখতে দেয়, কিন্তু ডেটা আউট পড়া নির্দিষ্ট আউটপুট API-এর মধ্যে সীমাবদ্ধ।

Chrome 130-এ শেয়ার্ড স্টোরেজ API সহ ক্রস-অরিজিন ওয়ার্কলেট

ক্রস-অরিজিন ওয়ার্কলেট স্ক্রিপ্টগুলির সাথে কাজ করার সময় আপনাকে আরও নমনীয়তা দিতে আমরা Chrome 130-এ শেয়ার্ড স্টোরেজ API-তে পরিবর্তন এনেছি।

কি পরিবর্তন হয়েছে

আমরা addModule() এর জন্য একই-উৎস সীমাবদ্ধতা সরিয়ে দিয়েছি যাতে আপনি এখন যেকোন উৎস থেকে ওয়ার্কলেট স্ক্রিপ্ট লোড করতে পারেন। ক্রস-অরিজিন ওয়ার্কলেট স্ক্রিপ্টগুলি CDN-এ ওয়ার্কলেট স্ক্রিপ্ট হোস্ট করার মতো মূল ব্যবহারের ক্ষেত্রে সক্ষম করে। যখন ওয়ার্কলেট স্ক্রিপ্টটি ইনভোকিং ব্রাউজিং কনটেক্সটের ক্রস-অরিজিন হয়, তখন শেয়ার করা স্টোরেজ অ্যাক্সেস করার জন্য ইনভোকিং প্রসঙ্গটির উত্স ডেটা পার্টিশনের উত্স হিসাবে ব্যবহৃত হয়।

নতুন addModule() আচরণের সাথে মিল রাখতে এবং সম্ভাব্য বিভ্রান্তি কমাতে, dataOrigin প্রপার্টি createWorklet() কলে যোগ করা হয়েছে যাতে একটি শেয়ার করা স্টোরেজ ডেটা পার্টিশনে পড়া এবং লেখার অনুমতি দেওয়া হয় যা ব্রাউজিং প্রসঙ্গ থেকে আলাদা। এটি আপনাকে ক্রস-অরিজিন ওয়ার্কলেট স্ক্রিপ্ট ব্যবহার করার সময়ও প্রতিটি ওয়ার্কলেট দ্বারা কোন উৎসের শেয়ার্ড স্টোরেজ অ্যাক্সেস করা হয় তার উপর আরও দানাদার নিয়ন্ত্রণ দেয়।

এটা কিভাবে পরিবর্তিত হয়েছে

Chrome 125 অনুযায়ী, একটি পৃষ্ঠায় একটি তৃতীয় পক্ষের ক্রস-অরিজিন স্ক্রিপ্ট createWorklet(url) ব্যবহার করে ক্রস-অরিজিন আইফ্রেমের প্রয়োজন ছাড়াই ক্রস-অরিজিন ওয়ার্কলেট তৈরি করতে সক্ষম। পূর্বে, createWorklet(url) স্ক্রিপ্ট URL ( url ) অরিজিনটিকে ডেটা পার্টিশনের উত্স হিসাবে ব্যবহার করত, আহ্বানকারী প্রসঙ্গ নির্বিশেষে।

Chrome 130-এ, নতুন addModule() আচরণের সাথে সারিবদ্ধ করার জন্য, createWorklet() এছাড়াও ডিফল্ট ডেটা পার্টিশনের উত্স হিসাবে আহ্বানকারী প্রসঙ্গ ব্যবহার করে। ডেটা পার্টিশনের উত্স হিসাবে স্ক্রিপ্ট URL অরিজিন ব্যবহার চালিয়ে যেতে, একটি নতুন সম্পত্তি dataOrigin চালু করা হচ্ছে যাতে আপনি স্পষ্টভাবে ডেটা পার্টিশনের উত্স সেট করতে পারেন৷

নতুন dataOrigin প্রপার্টি "script-origin" গ্রহণ করে, যা স্ক্রিপ্টের উত্স হিসাবে ডেটা পার্টিশনের উত্স এবং "context-origin" সেট করে যা ডাটা পার্টিশনের উত্সকে ব্রাউজিং প্রসঙ্গের উত্স হিসাবে সেট করে৷ ভবিষ্যতের রিলিজে আমরা কাস্টম ডেটা পার্টিশন উত্সকে সমর্থন করার পরিকল্পনা করছি, যেখানে একটি ওয়ার্কলেট স্ক্রিপ্ট একটি অপ্ট-ইন ভিত্তিতে একটি নির্বিচারে উত্স থেকে ভাগ করা স্টোরেজ ডেটা অ্যাক্সেস করতে পারে।

"script-origin" এ সেট করা ডেটা অরিজিন সহ একটি ক্রস-অরিজিন স্ক্রিপ্ট লোড করার সময়, ব্রাউজার থেকে পাঠানো স্ক্রিপ্টের অনুরোধে একটি "Sec-Shared-Storage-Data-Origin: <origin>" হেডার অন্তর্ভুক্ত থাকবে। এটি সক্ষম করতে, স্ক্রিপ্টে অবশ্যই "Shared-Storage-Cross-Origin-Worklet-Allowed: ?1" অপ্ট-ইন প্রতিক্রিয়া শিরোনাম অন্তর্ভুক্ত করতে হবে৷

কিভাবে ব্যবহার করবেন

আপনি যদি ইতিমধ্যেই createWorklet() স্ক্রিপ্টের সাথে ওয়ার্কলেটের ডেটা পার্টিশন উত্স হিসাবে ব্যবহার করছেন, তাহলে আপনি dataOrigin নিম্নরূপ সেট করতে পারেন:

sharedStorage.createWorklet(scriptUrl, {dataOrigin: "script-origin"});

যেহেতু createWorklet() একটি ক্রস-অরিজিন ডেটা পার্টিশন তৈরি করতে এবং একাধিক ওয়ার্কলেট তৈরি করার অনুমতি দেয়, তাই আমরা আপনাকে addModule() createWorklet() () এ স্থানান্তর করতে উত্সাহিত করি।

আমরা এই পরিবর্তনগুলি প্রতিফলিত করতে এবং আরও নির্দেশিকা প্রদান করতে বিকাশকারী ডকুমেন্টেশন আপডেট করেছি৷

Chrome 132 এ সিলেক্ট ইউআরএল এপিআই দিয়ে ক্যোয়ারী সেভ করা হয়েছে

আমরা সংরক্ষিত প্রশ্নের সমর্থনে Chrome 132-এ শেয়ার্ড স্টোরেজ সহ সিলেক্ট ইউআরএল API- এর আপডেটগুলি প্রবর্তন করছি৷

কি পরিবর্তন হচ্ছে

ইউআরএল নির্বাচন করুন এপিআই-এ বর্তমানে দুটি প্রতি-পৃষ্ঠা-লোড বাজেট রয়েছে যা প্রতিটি পৃষ্ঠা-লোডের সময় API-এ করা কলের সংখ্যা সীমাবদ্ধ করে। আমরা প্রতি-পৃষ্ঠার ভিত্তিতে প্রশ্নগুলি সংরক্ষণ এবং পুনঃব্যবহার করার ক্ষমতা প্রবর্তন করছি৷ যখন আপনি একটি সংরক্ষিত ক্যোয়ারী ব্যবহার করেন, প্রথমবার একটি সংরক্ষিত ক্যোয়ারী চালানোর সময় প্রতি-পৃষ্ঠা-লোড বাজেট চার্জ করা হয়, কিন্তু একই পৃষ্ঠা-লোডের সময় সংরক্ষিত ক্যোয়ারীটির পরবর্তী রানের জন্য নয়।

কীভাবে সংরক্ষিত প্রশ্নগুলি বাস্তবায়ন করবেন

Chrome 132 রিলিজ দিয়ে শুরু করে, আপনি কোয়েরির নামের সাথে selectURL() এর বিকল্পগুলিতে savedQuery প্যারামিটার ব্যবহার করতে পারেন:

await sharedStorage.selectURL('experiment', urls, {
  savedQuery: 'control_or_experiment',
  keepAlive: true
});

ফলো-আপ প্রশ্নগুলিকে একই বাজেটে চার্জ করা হয়েছে তা নিশ্চিত করতে selectURL() এ প্রতিটি কলের জন্য একই savedQuery নাম ব্যবহার করুন।

আমরা এই পরিবর্তনগুলি প্রতিফলিত করার জন্য ডকুমেন্টেশন আপডেট করেছি এবং selectURL() এর জন্য বাজেট সংক্রান্ত অতিরিক্ত বিবরণ প্রদান করেছি।

জড়িত এবং মতামত শেয়ার করুন

নোট করুন যে শেয়ার্ড স্টোরেজ API প্রস্তাবটি সক্রিয় আলোচনা এবং বিকাশের অধীনে রয়েছে এবং তাই পরিবর্তন সাপেক্ষে৷

আমরা শেয়ার্ড স্টোরেজ এপিআই সম্পর্কে আপনার মতামত শুনতে আগ্রহী।

অবগত থাকুন

  • মেইলিং তালিকা : শেয়ার্ড স্টোরেজ API-এর সাথে সম্পর্কিত সর্বশেষ আপডেট এবং ঘোষণার জন্য আমাদের মেইলিং তালিকায় সদস্যতা নিন।

সাহায্য প্রয়োজন?