browser.types

বিবরণ

chrome.types API-তে Chrome-এর জন্য টাইপ ডিক্লারেশন আছে।

Chrome সেটিংস

ChromeSetting টাইপটি ফাংশনের একটি সাধারণ সেট (get(), set() এবং clear()) এবং Chrome ব্রাউজারের সেটিংসের জন্য একটি ইভেন্ট প্রকাশক (onChange) প্রদান করে। প্রক্সি সেটিংস examples থেকে বোঝা যায় যে এইসব ফাংশন কীভাবে ব্যবহার করা উচিত।

স্কোপ ও লাইফসাইকেল

Chrome ব্রাউজার সেটিংসের তিনটি ভিন্ন স্কোপের মধ্যে পার্থক্য করে:

regular
regular স্কোপে সেট করা সেটিংস সাধারণ ব্রাউজার উইন্ডোতে প্রযোজ্য হয় এবং ওভাররাইট করা না হলে ছদ্মবেশী উইন্ডোতে উত্তরাধিকার সূত্রে প্রাপ্ত হয়। এই সেটিংস ডিস্কে সেভ করা হয় এবং যতক্ষণ না পর্যন্ত পরিচালনাকারী এক্সটেনশন দ্বারা মুছে ফেলা হয় অথবা পরিচালনাকারী এক্সটেনশন বন্ধ বা আনইনস্টল করা হয় ততক্ষণ পর্যন্ত তা থেকে যায়।
incognito_persistent
incognito_persistent স্কোপে সেট করা সেটিংস শুধুমাত্র ছদ্মবেশী উইন্ডোতে প্রযোজ্য। এগুলির জন্য, তারা regular সেটিংস ওভাররাইড করে। এইসব সেটিংস ডিস্কে সেভ করা হয় এবং যতক্ষণ না পর্যন্ত গভর্নিং এক্সটেনশন দ্বারা মুছে ফেলা হয়, অথবা গভর্নিং এক্সটেনশন বন্ধ বা আনইনস্টল করা হয়, ততক্ষণ পর্যন্ত এগুলি থেকে যায়।
incognito_session_only
incognito_session_only স্কোপে সেট করা সেটিংস শুধুমাত্র ছদ্মবেশী উইন্ডোতে প্রযোজ্য। এগুলির জন্য, তারা regular এবং incognito_persistent সেটিংস ওভাররাইড করে। এই সেটিংস ডিস্কে সেভ করা হয় না এবং শেষ ছদ্মবেশী উইন্ডো বন্ধ করার সময় মুছে যায়। কমপক্ষে একটি ছদ্মবেশী উইন্ডো খোলা থাকলে তবেই এগুলি সেট করা যাবে।

অগ্রাধিকার

Chrome বিভিন্ন স্তরে সেটিংস ম্যানেজ করে। নিম্নলিখিত তালিকায় সেইসব লেয়ারের বর্ণনা দেওয়া হয়েছে যেগুলি অগ্রাধিকারের ক্রমবর্ধমান ক্রমে কার্যকর সেটিংসকে প্রভাবিত করতে পারে।

  1. অপারেটিং সিস্টেমের মাধ্যমে প্রদান করা সিস্টেম সেটিংস
  2. কমান্ড-লাইন প্যারামিটার
  3. এক্সটেনশনের মাধ্যমে প্রদান করা সেটিংস
  4. নীতি

তালিকা থেকে বোঝা যাচ্ছে যে, আপনার এক্সটেনশনের মাধ্যমে নির্দিষ্ট করা যেকোনও পরিবর্তনকে নীতি ওভাররুল করতে পারে। আপনার এক্সটেনশন কোনও সেটিং প্রদান করতে সক্ষম কিনা বা এই সেটিং ওভাররাইড করা হবে কিনা তা নির্ধারণ করতে আপনি get() ফাংশন ব্যবহার করতে পারেন।

আগে যেমন আলোচনা করা হয়েছে, Chrome সাধারণ উইন্ডো ও ছদ্মবেশী উইন্ডোর জন্য আলাদা আলাদা সেটিংস ব্যবহার করার অনুমতি দেয়। নিম্নলিখিত উদাহরণ থেকে এই আচরণ সম্পর্কে বোঝা যাবে। ধরে নিন যে কোনও নীতি সেটিংস ওভাররাইড করে না এবং কোনও এক্সটেনশন সাধারণ উইন্ডোর জন্য সেটিংস (R) এবং ছদ্মবেশী উইন্ডোর জন্য সেটিংস (I) সেট করতে পারে।

  • শুধুমাত্র (R) সেট করা থাকলে, এই সেটিংস সাধারণ ও ছদ্মবেশী উইন্ডো, দুটির ক্ষেত্রেই কার্যকর হয়।
  • শুধুমাত্র (I) সেট করা থাকলে, এইসব সেটিংস শুধুমাত্র ছদ্মবেশী উইন্ডোর ক্ষেত্রে কার্যকর হয়। সাধারণ উইন্ডো নিম্ন স্তরের (কমান্ড-লাইন বিকল্প এবং সিস্টেম সেটিংস) দ্বারা নির্ধারিত সেটিংস ব্যবহার করে।
  • (R) এবং (I), দুটিই সেট করা থাকলে, রেগুলার এবং ছদ্মবেশী উইন্ডোর জন্য সংশ্লিষ্ট সেটিংস ব্যবহার করা হয়।

দুটি বা তার বেশি এক্সটেনশন যদি একই সেটিংয়ের জন্য আলাদা আলাদা ভ্যালু সেট করতে চায়, তাহলে যে এক্সটেনশনটি সবচেয়ে সম্প্রতি ইনস্টল করা হয়েছে, সেটি অন্য এক্সটেনশনের চেয়ে বেশি অগ্রাধিকার পায়। সবচেয়ে সম্প্রতি ইনস্টল করা এক্সটেনশন শুধুমাত্র (I) সেট করলে, সাধারণ উইন্ডোর সেটিংস আগে ইনস্টল করা এক্সটেনশন দ্বারা নির্ধারিত হতে পারে।

অগ্রাধিকার সংক্রান্ত নিয়ম বিবেচনা করার পরে যে ফলাফল পাওয়া যায় সেটিই হল কোনও সেটিংয়ের কার্যকর ভ্যালু। এটি Chrome ব্যবহার করে।

ধরন

ChromeSetting

একটি ইন্টারফেস যা Chrome ব্রাউজার সেটিংয়ে অ্যাক্সেস দেয়। উদাহরণ দেখতে accessibilityFeatures দেখুন।

প্রপার্টি

  • onChange

    Event<functionvoidvoid>

    সেটিং পরিবর্তন করার পরে ফায়ার করা হয়েছে।

    onChange.addListener ফাংশনটি দেখতে এইরকম:

    (callback: function) => {...}

    • কলব্যাক

      ফাংশন

      callback প্যারামিটারটি দেখতে এইরকম:

      (details: object) => void

      • বিস্তারিত বিবরণ

        অবজেক্ট

        • incognitoSpecific

          বুলিয়ান ঐচ্ছিক

          যে ভ্যালু পরিবর্তন হয়েছে তা ছদ্মবেশী সেশনের জন্য নির্দিষ্ট কিনা। ব্যবহারকারী ছদ্মবেশী মোডে এক্সটেনশন চালু করলে শুধুমাত্র এই প্রপার্টি থাকবে।

        • levelOfControl

          সেটিংয়ের কন্ট্রোল লেভেল।

        • মান

          ত

          পরিবর্তন করার পরে সেটিংয়ের ভ্যালু।

  • সাফ করুন

    বাতিল

    সেটিং মুছে দেয়, যেকোনও ডিফল্ট ভ্যালু রিস্টোর করে।

    clear ফাংশনটি দেখতে এইরকম:

    (details: object) => {...}

    • বিস্তারিত বিবরণ

      অবজেক্ট

      কোন সেটিং মুছতে হবে।

      • স্কোপ

        ChromeSettingScope ঐচ্ছিক

        সেটিং কোথায় মুছতে হবে (ডিফল্ট: রেগুলার)।

    • ফেরত দেওয়া

      <void> প্রমিস

      Chrome 96+ Chrome 148 থেকে browser.*

      Called at the completion of the clear operation.

  • কিনুন

    বাতিল

    কোনও সেটিংয়ের ভ্যালু পায়।

    get ফাংশনটি দেখতে এইরকম:

    (details: object) => {...}

    • বিস্তারিত বিবরণ

      অবজেক্ট

      কোন সেটিং বিবেচনা করতে হবে।

      • ছদ্মবেশী মোড

        বুলিয়ান ঐচ্ছিক

        ছদ্মবেশী সেশনের ক্ষেত্রে প্রযোজ্য ভ্যালু ফেরত পাঠানো হবে কিনা (ডিফল্ট false)।

    • ফেরত দেওয়া

      Promise<object>

      Chrome 96+ Chrome 148 থেকে browser.*
  • সেট করো

    বাতিল

    কোনও সেটিংয়ের ভ্যালু সেট করে।

    set ফাংশনটি দেখতে এইরকম:

    (details: object) => {...}

    • বিস্তারিত বিবরণ

      অবজেক্ট

      কোন সেটিং পরিবর্তন করতে হবে।

      • স্কোপ

        ChromeSettingScope ঐচ্ছিক

        সেটিং কোথায় সেট করতে হবে (ডিফল্ট: রেগুলার)।

      • মান

        ত

        সেটিংয়ের ভ্যালু। মনে রাখবেন যে প্রতিটি সেটিংয়ের একটি নির্দিষ্ট ভ্যালু টাইপ আছে, যা সেটিংয়ের সাথে বর্ণনা করা হয়েছে। কোনও এক্সটেনশনকে অন্য ধরনের ভ্যালু সেট করা উচিত নয়।

    • ফেরত দেওয়া

      <void> প্রমিস

      Chrome 96+ Chrome 148 থেকে browser.*

      সেট অপারেশন সম্পূর্ণ হওয়ার পরে কল করা হয়েছে।

ChromeSettingScope

Chrome 44+ Chrome 148 থেকে browser.*

ChromeSetting-এর স্কোপ। এর মধ্যে একটি

  • regular: সাধারণ প্রোফাইলের জন্য সেটিং (যা ছদ্মবেশী প্রোফাইল দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত হয় যদি অন্য কোথাও ওভাররাইড না করা হয়),
  • regular\_only: শুধুমাত্র সাধারণ প্রোফাইলের জন্য সেটিং (ছদ্মবেশী প্রোফাইল থেকে উত্তরাধিকার সূত্রে প্রাপ্ত নয়),
  • incognito\_persistent: ছদ্মবেশী প্রোফাইলের জন্য সেটিংস যা ব্রাউজার রিস্টার্ট করার পরেও থেকে যায় (নিয়মিত পছন্দকে ওভাররাইড করে),
  • incognito\_session\_only: ছদ্মবেশী প্রোফাইলের জন্য সেটিং যা শুধুমাত্র ছদ্মবেশী সেশন চলাকালীন সেট করা যেতে পারে এবং ছদ্মবেশী সেশন শেষ হলে মুছে ফেলা হয় (সাধারণ এবং incognito_persistent পছন্দ ওভাররাইড করে)।

Enum

"নিয়মিত"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44+ Chrome 148 থেকে browser.*

এর মধ্যে একটি

  • not\_controllable: কোনও এক্সটেনশন দ্বারা নিয়ন্ত্রণ করা যাবে না
  • controlled\_by\_other\_extensions: আরও বেশি অগ্রাধিকার সহ এক্সটেনশন দ্বারা নিয়ন্ত্রিত হয়
  • controllable\_by\_this\_extension: এই এক্সটেনশন দ্বারা নিয়ন্ত্রণ করা যাবে
  • controlled\_by\_this\_extension: এই এক্সটেনশন দ্বারা নিয়ন্ত্রিত

Enum

"not_controllable"

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"