আরেকটি পদ্ধতি হ'ল একটি ওয়েব-অ্যাক্সেসযোগ্য সংস্থানটি প্রকাশ করা , যদিও এটি কোনও ওয়েবসাইটকে আপনার এক্সটেনশনটি ইনস্টল করা আছে কিনা তা পরীক্ষা করার অনুমতি দেবে।
ধরুন আপনার এক্সটেনশনের আইডি হ'ল aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
এবং আপনি test.png
আপনার এক্সটেনশনের ফাইলগুলির মতো একটি ফাইল (বলুন, একটি স্বচ্ছ পিক্সেল চিত্র) যুক্ত করুন ।
তারপরে, আপনি এই ফাইলটি ওয়েব পৃষ্ঠাগুলিতে web_accessible_resources
ম্যানিফেস্ট কী সহ প্রকাশ করবেন:
"web_accessible_resources": [
"test.png"
],
আপনার ওয়েব পৃষ্ঠায়, আপনি এই ফাইলটি সম্পূর্ণ ইউআরএল দ্বারা লোড করার চেষ্টা করতে পারেন (একটি <img>
ট্যাগে, এক্সএইচআর এর মাধ্যমে, বা অন্য কোনও উপায়ে):
chrome-extension:
যদি ফাইলটি লোড হয় তবে এক্সটেনশনটি ইনস্টল করা আছে। এই ফাইলটি লোড করার সময় যদি কোনও ত্রুটি হয় তবে এক্সটেনশনটি ইনস্টল করা হয় না।
function detectExtension(extensionId, callback) {
var img;
img = new Image();
img.src = "chrome-extension://" + extensionId + "/test.png";
img.onload = function() {
callback(true);
};
img.onerror = function() {
callback(false);
};
}
দ্রষ্টব্য: এই ফাইলটি লোড করার সময় যদি কোনও ত্রুটি ঘটে থাকে তবে নেটওয়ার্ক স্ট্যাক ত্রুটিটি কনসোলে উপস্থিত হবে না এটি নিস্তব্ধ করার কোনও সম্ভাবনা নেই। যখন Chromecast এই পদ্ধতিটি ব্যবহার করে, এটি এর কারণে বেশ কিছুটা বিতর্ক সৃষ্টি করেছিল ; ক্রম টিম দ্বারা সম্পূর্ণভাবে ডিভাইস থেকে খুব নির্দিষ্ট ত্রুটিগুলি কালো তালিকাভুক্ত করার চূড়ান্ত খুব কুরুচিপূর্ণ সমাধান সহ with
গুরুত্বপূর্ণ দ্রষ্টব্য: এই পদ্ধতিটি ফায়ারফক্স ওয়েব-এক্সটেনশনে কাজ করবে না। ওয়েব অ্যাক্সেসযোগ্য রিসোর্সগুলি অন্তর্নিহিতভাবে আঙুলের ছাপে এক্সটেনশানটি প্রকাশ করে, যেহেতু ইউআরএলটি আইডিটি জেনে অনুমানযোগ্য। ফায়ারফক্স ওয়েব অ্যাক্সেসযোগ্য সংস্থানগুলিতে একটি উদাহরণ-নির্দিষ্ট র্যান্ডম URL নির্ধারণ করে সেই গর্তটি বন্ধ করার সিদ্ধান্ত নিয়েছে :
ফাইলগুলি তখন URL এর মতো ব্যবহার করে উপলভ্য হবে:
moz-extension://<random-UUID>/<path/to/resource>
এই ইউআইডিটি এলোমেলোভাবে প্রতিটি ব্রাউজারের জন্য তৈরি করা হয় এবং এটি আপনার এক্সটেনশনের আইডি নয়। এটি কোনও ব্যবহারকারী ইনস্টল করা এক্সটেনশানগুলিকে ফিঙ্গারপ্রিন্ট করা থেকে ওয়েবসাইটগুলিকে বাধা দেয়।
তবে এক্সটেনশনটি runtime.getURL()
এই ঠিকানাটি পেতে ব্যবহার করতে পারে, আপনি নিজের ওয়েবসাইটে এটি হার্ড-কোড করতে পারবেন না।