ওয়েব API

chrome.* APIs ছাড়াও, এক্সটেনশনগুলি ব্রাউজার ওয়েব পৃষ্ঠা এবং অ্যাপগুলিতে সরবরাহ করে এমন সমস্ত API ব্যবহার করতে পারে৷ যদি ব্রাউজারটি এমন একটি API সমর্থন না করে যা আপনি ব্যবহার করতে চান, আপনি আপনার এক্সটেনশনে অতিরিক্ত API লাইব্রেরি বান্ডিল করতে পারেন।

এখানে API এর একটি নমুনা রয়েছে যা এক্সটেনশনগুলি ব্যবহার করতে পারে:

স্ট্যান্ডার্ড জাভাস্ক্রিপ্ট API
এগুলি একই মূল জাভাস্ক্রিপ্ট এবং ডকুমেন্ট অবজেক্ট মডেল (DOM) API যা আপনি সাধারণ ওয়েব অ্যাপগুলিতে ব্যবহার করতে পারেন৷
XMLHttp অনুরোধ
এক বা একাধিক সার্ভার থেকে ডেটা অনুরোধ করতে XMLHttpRequest ব্যবহার করুন। ম্যানিফেস্টের অনুমতি ক্ষেত্রটি নির্দিষ্ট করে যে এক্সটেনশনটি কোন হোস্টে অনুরোধ পাঠাতে পারে৷
HTML এবং অন্যান্য উদীয়মান API

Google Chrome অন্যান্য উদীয়মান APIগুলির সাথে আধুনিক HTML বৈশিষ্ট্যগুলিকে সমর্থন করে৷ আপনি ব্যবহার করতে পারেন এমন কিছু API এখানে রয়েছে:

  • অডিও ( টিউটোরিয়াল )
  • অ্যাপ্লিকেশন ক্যাশে ( টিউটোরিয়াল )
  • ক্যানভাস ( নিবন্ধ )
  • পূর্ণস্ক্রীন ( নিবন্ধ )
  • ক্রোম অ্যাপস-এ, ব্যবহারকারীকে প্রম্পট না করে বা প্রস্থান নির্দেশনা না দিয়েই পূর্ণস্ক্রীন প্রবেশ করানো হয়। HTML5 পূর্ণস্ক্রীনের জন্য ম্যানিফেস্টে app.window.fullscreen অনুমতি প্রয়োজন৷ সাধারণ ওয়েবপেজগুলিতে, ব্রাউজার পয়েন্টার লক থেকে প্রস্থান করার জন্য ESC কীকে বাধা দেয় এবং ব্যবহারকারীদের জন্য একটি সামঞ্জস্যপূর্ণ পালানোর পদ্ধতি নিশ্চিত করে। ক্রোম অ্যাপস-এর মধ্যেও এটাই আচরণ যদি না app.window.fullscreen.overrideEsc অনুমতি ব্যবহার করে অ্যাপটিকে কীডাউন এবং কী-আপ ইভেন্টে preventDefault কল করতে সক্ষম করা হয়।
  • ভূ-অবস্থান ( টিউটোরিয়াল )
  • স্থানীয় স্টোরেজ ( টিউটোরিয়াল )
  • বিজ্ঞপ্তি ( টিউটোরিয়াল )
  • পয়েন্টার লক ( টিউটোরিয়াল )
  • ক্রোম অ্যাপস-এ, ব্যবহারকারীর অঙ্গভঙ্গি, ব্যবহারকারীকে প্রম্পট করা বা প্রস্থান নির্দেশনা প্রদানের প্রয়োজন ছাড়াই পয়েন্টার লক প্রবেশ করানো হয়। পয়েন্টার লকের জন্য ম্যানিফেস্টে pointerlock অনুমতি প্রয়োজন৷ এছাড়াও, কোন ডিফল্ট প্রস্থান আচরণ নেই. সাধারণ ওয়েবপৃষ্ঠাগুলিতে, ব্রাউজার পয়েন্টার লক থেকে প্রস্থান করার জন্য ESC কীকে বাধা দেয়। এই আচরণ Chrome Apps-এ উপস্থিত নেই৷
  • চলচ্চিত্র মাধ্যমে শিক্ষা )
  • ওয়েব ডাটাবেস ( টিউটোরিয়াল )

HTML5 তথ্য, টিউটোরিয়াল, একটি ইন্টারেক্টিভ খেলার মাঠ এবং অন্যান্য সংস্থানগুলির লিঙ্কগুলির জন্য html5rocks.com দেখুন৷

ওয়েব API

আপনার এক্সটেনশন ওয়েব API ব্যবহার করতে পারে। ফিল্টার, অ্যানিমেশন এবং রূপান্তরের মতো সিএসএস বৈশিষ্ট্যগুলি বিশেষভাবে কার্যকর। UI স্পিন করতে WebKit শৈলী ব্যবহার করার একটি উদাহরণ এখানে দেওয়া হল:

<style>
  div:hover {
    transform: rotate(360deg);
    transition: all 1s ease-out;
  }
</style>
V8 API, যেমন JSON

যেহেতু JSON V8-এ রয়েছে, তাই JSON ফাংশনগুলি ব্যবহার করার জন্য আপনাকে JSON লাইব্রেরি অন্তর্ভুক্ত করতে হবে না।

বান্ডিল লাইব্রেরিতে API

আপনি যদি এমন একটি লাইব্রেরি ব্যবহার করতে চান যা ব্রাউজার প্রদান করে না (উদাহরণস্বরূপ, jQuery), আপনি আপনার এক্সটেনশনের সাথে সেই লাইব্রেরির জাভাস্ক্রিপ্ট ফাইলগুলিকে বান্ডিল করতে পারেন। বান্ডেল করা লাইব্রেরিগুলি এক্সটেনশনে কাজ করে ঠিক যেমনটি তারা অন্যান্য ওয়েব পৃষ্ঠাগুলিতে করে।

,

chrome.* APIs ছাড়াও, এক্সটেনশনগুলি ব্রাউজার ওয়েব পৃষ্ঠা এবং অ্যাপগুলিতে সরবরাহ করে এমন সমস্ত API ব্যবহার করতে পারে৷ যদি ব্রাউজারটি এমন একটি API সমর্থন না করে যা আপনি ব্যবহার করতে চান, আপনি আপনার এক্সটেনশনে অতিরিক্ত API লাইব্রেরি বান্ডিল করতে পারেন।

এখানে API এর একটি নমুনা রয়েছে যা এক্সটেনশনগুলি ব্যবহার করতে পারে:

স্ট্যান্ডার্ড জাভাস্ক্রিপ্ট API
এগুলি একই মূল জাভাস্ক্রিপ্ট এবং ডকুমেন্ট অবজেক্ট মডেল (DOM) API যা আপনি সাধারণ ওয়েব অ্যাপগুলিতে ব্যবহার করতে পারেন৷
XMLHttp অনুরোধ
এক বা একাধিক সার্ভার থেকে ডেটা অনুরোধ করতে XMLHttpRequest ব্যবহার করুন। ম্যানিফেস্টের অনুমতি ক্ষেত্রটি নির্দিষ্ট করে যে এক্সটেনশনটি কোন হোস্টে অনুরোধ পাঠাতে পারে৷
HTML এবং অন্যান্য উদীয়মান API

Google Chrome অন্যান্য উদীয়মান APIগুলির সাথে আধুনিক HTML বৈশিষ্ট্যগুলিকে সমর্থন করে৷ আপনি ব্যবহার করতে পারেন এমন কিছু API এখানে রয়েছে:

  • অডিও ( টিউটোরিয়াল )
  • অ্যাপ্লিকেশন ক্যাশে ( টিউটোরিয়াল )
  • ক্যানভাস ( নিবন্ধ )
  • পূর্ণস্ক্রীন ( নিবন্ধ )
  • ক্রোম অ্যাপস-এ, ব্যবহারকারীকে প্রম্পট না করে বা প্রস্থান নির্দেশনা না দিয়েই পূর্ণস্ক্রীন প্রবেশ করানো হয়। HTML5 পূর্ণস্ক্রীনের জন্য ম্যানিফেস্টে app.window.fullscreen অনুমতি প্রয়োজন৷ সাধারণ ওয়েবপেজগুলিতে, ব্রাউজার পয়েন্টার লক থেকে প্রস্থান করার জন্য ESC কীকে বাধা দেয় এবং ব্যবহারকারীদের জন্য একটি সামঞ্জস্যপূর্ণ পালানোর পদ্ধতি নিশ্চিত করে। ক্রোম অ্যাপস-এর মধ্যেও এটাই আচরণ যদি না app.window.fullscreen.overrideEsc অনুমতি ব্যবহার করে অ্যাপটিকে কীডাউন এবং কী-আপ ইভেন্টে preventDefault কল করতে সক্ষম করা হয়।
  • ভূ-অবস্থান ( টিউটোরিয়াল )
  • স্থানীয় স্টোরেজ ( টিউটোরিয়াল )
  • বিজ্ঞপ্তি ( টিউটোরিয়াল )
  • পয়েন্টার লক ( টিউটোরিয়াল )
  • ক্রোম অ্যাপস-এ, ব্যবহারকারীর অঙ্গভঙ্গি, ব্যবহারকারীকে প্রম্পট করা বা প্রস্থান নির্দেশনা প্রদানের প্রয়োজন ছাড়াই পয়েন্টার লক প্রবেশ করানো হয়। পয়েন্টার লকের জন্য ম্যানিফেস্টে pointerlock অনুমতি প্রয়োজন৷ এছাড়াও, কোন ডিফল্ট প্রস্থান আচরণ নেই. সাধারণ ওয়েবপৃষ্ঠাগুলিতে, ব্রাউজার পয়েন্টার লক থেকে প্রস্থান করার জন্য ESC কীকে বাধা দেয়। এই আচরণ Chrome Apps-এ উপস্থিত নেই৷
  • চলচ্চিত্র মাধ্যমে শিক্ষা )
  • ওয়েব ডাটাবেস ( টিউটোরিয়াল )

HTML5 তথ্য, টিউটোরিয়াল, একটি ইন্টারেক্টিভ খেলার মাঠ এবং অন্যান্য সংস্থানগুলির লিঙ্কগুলির জন্য html5rocks.com দেখুন৷

ওয়েব API

আপনার এক্সটেনশন ওয়েব API ব্যবহার করতে পারে। ফিল্টার, অ্যানিমেশন এবং রূপান্তরের মতো সিএসএস বৈশিষ্ট্যগুলি বিশেষভাবে কার্যকর। UI স্পিন করতে WebKit শৈলী ব্যবহার করার একটি উদাহরণ এখানে দেওয়া হল:

<style>
  div:hover {
    transform: rotate(360deg);
    transition: all 1s ease-out;
  }
</style>
V8 API, যেমন JSON

যেহেতু JSON V8-এ রয়েছে, তাই JSON ফাংশনগুলি ব্যবহার করার জন্য আপনাকে JSON লাইব্রেরি অন্তর্ভুক্ত করতে হবে না।

বান্ডিল লাইব্রেরিতে API

আপনি যদি এমন একটি লাইব্রেরি ব্যবহার করতে চান যা ব্রাউজার প্রদান করে না (উদাহরণস্বরূপ, jQuery), আপনি আপনার এক্সটেনশনের সাথে সেই লাইব্রেরির জাভাস্ক্রিপ্ট ফাইলগুলিকে বান্ডিল করতে পারেন। বান্ডেল করা লাইব্রেরিগুলি এক্সটেনশনে কাজ করে ঠিক যেমনটি তারা অন্যান্য ওয়েব পৃষ্ঠাগুলিতে করে।