উন্নত গোপনীয়তা এবং নিরাপত্তার জন্য, তৃতীয় পক্ষের আইফ্রেমে ওয়েব শেয়ার API কলগুলিকে এখন স্পষ্টভাবে অনুমতি দেওয়া দরকার৷
এই নিবন্ধটি ওয়েব শেয়ার এপিআই-তে একটি সম্ভাব্য ব্রেকিং পরিবর্তন কভার করে। এই পরিবর্তনটি ইতিমধ্যেই Firefox-এ রয়েছে, সংস্করণ 110 থেকে Chrome- এ অবতরণ করবে এবং শীঘ্রই Safari- এ অবতরণ করবে বলে আশা করা হচ্ছে।
ওয়েব শেয়ার API আপনাকে পাঠ্য, URL বা ফাইলগুলি ভাগ করতে দেয়৷ এর সহজতম আকারে, শেয়ার কোডটি এরকম কিছু দেখায়:
try {
await navigator.share({
title: 'Title',
text: 'Text',
url: location.href,
});
} catch (err) {
console.error(`${err.name}: ${err.message}`);
}
যদি তৃতীয় পক্ষের আইফ্রেমে কোনো শেয়ারিং অ্যাকশন ঘটার প্রয়োজন হয়, তাহলে সাম্প্রতিক স্পেস পরিবর্তনের জন্য আপনাকে স্পষ্টভাবে অপারেশনের অনুমতি দিতে হবে। web-share
মান সহ <iframe>
ট্যাগে একটি allow
বৈশিষ্ট্য যোগ করে এটি করুন। এটি ব্রাউজারকে বলে যে এমবেডিং সাইট এমবেড করা তৃতীয় পক্ষের আইফ্রেমকে শেয়ার অ্যাকশনটি ট্রিগার করতে দেয়৷
<!DOCTYPE html>
<html lang="en">
<body>
<h1>Web Share in third-party iframes</h1>
<!-- The embedding page is hosted on https://example.com/index.html. -->
<iframe allow="web-share" src="https://third-party.example.com/iframe.html"></iframe>
</body>
</html>
আপনি গ্লিচের একটি ডেমোতে এটিকে কার্যকরভাবে দেখতে পারেন এবং উত্স কোডটি দেখতে পারেন। অ্যাট্রিবিউট প্রদান করতে ব্যর্থ হলে Failed to execute 'share' on 'Navigator': Permission denied
বার্তা সহ একটি NotAllowedError
হবে: অনুমতি অস্বীকার করা হয়েছে। এই সীমাবদ্ধতা সমস্ত ব্রাউজার বিক্রেতাদের দ্বারা ব্যবহারকারীদের গোপনীয়তা এবং নিরাপত্তা উন্নত করতে এবং খারাপ অভিনেতাদের প্রতিরোধ করার জন্য সম্মত হয়েছিল, উদাহরণস্বরূপ, অপমানজনক বিজ্ঞাপনগুলি, অপ্রত্যাশিত শেয়ার ক্রিয়াগুলিকে ট্রিগার করা থেকে।