वेब एपीआई

chrome.* के अलावा API, एक्सटेंशन उन सभी API का इस्तेमाल कर सकते हैं जो ब्राउज़र, वेब पेजों और ऐप्लिकेशन को उपलब्ध कराता है. अगर आपको ब्राउज़र पर कोई एपीआई इस्तेमाल नहीं करना है, तो अतिरिक्त एपीआई लाइब्रेरी को अपने एक्सटेंशन में जोड़ें.

यहां उन एपीआई का सैंपल दिया गया है जिनका इस्तेमाल एक्सटेंशन कर सकते हैं:

स्टैंडर्ड JavaScript एपीआई
ये वही कोर JavaScript और डॉक्यूमेंट ऑब्जेक्ट मॉडल (DOM) एपीआई हैं जिनका इस्तेमाल सामान्य वेब ऐप्लिकेशन में किया जा सकता है.
XMLHttpRequest
एक या ज़्यादा सर्वर से डेटा का अनुरोध करने के लिए, XMLHttpRequest का इस्तेमाल करें. मेनिफ़ेस्ट के अनुमतियां फ़ील्ड से यह तय होता है कि एक्सटेंशन किन होस्ट को अनुरोध भेज सकता है.
एचटीएमएल और अन्य उभरते हुए एपीआई

Google Chrome अन्य उभरते हुए API के साथ, आधुनिक HTML सुविधाओं का समर्थन करता है. यहां कुछ ऐसे एपीआई दिए गए हैं जिनका इस्तेमाल किया जा सकता है:

  • ऑडियो (ट्यूटोरियल)
  • ऐप्लिकेशन की कैश मेमोरी (ट्यूटोरियल)
  • कैनवस (लेख)
  • फ़ुलस्क्रीन (लेख)
  • Chrome ऐप्स में, उपयोगकर्ता को संकेत दिए बिना या बाहर निकलने के निर्देश दिए बिना ही फ़ुलस्क्रीन मोड में डाला जा सकता है. HTML5 फ़ुलस्क्रीन के लिए मेनिफ़ेस्ट में app.window.fullscreen अनुमति की ज़रूरत होती है. सामान्य वेबपेज में, ब्राउज़र, पॉइंटर लॉक से बाहर निकलने के लिए Esc कुंजी को बीच में रोकता है. इससे, उपयोगकर्ताओं को एस्केप करने का एक जैसा तरीका मिलता है. Chrome ऐप्लिकेशन में भी ऐसा ही होता है. हालांकि, अगर app.window.fullscreen.overrideEsc अनुमति का इस्तेमाल, ऐप्लिकेशन को कीडाउन और कीअप इवेंट पर preventDefault को कॉल करने की सुविधा चालू करने के लिए किया जाता है, तो ऐसा नहीं होगा.
  • जियोलोकेशन (ट्यूटोरियल)
  • लोकल स्टोरेज (ट्यूटोरियल)
  • सूचनाएं (ट्यूटोरियल)
  • पॉइंटर लॉक (ट्यूटोरियल)
  • Chrome के ऐप्लिकेशन में, उपयोगकर्ता के जेस्चर (हाव-भाव) के बिना, उपयोगकर्ता से अनुरोध किए बिना या बाहर निकलने के निर्देश दिए बिना, पॉइंटर लॉक डाला जा सकता है. पॉइंटर लॉक के लिए, मेनिफ़ेस्ट में pointerlock अनुमति ज़रूरी है. साथ ही, कोई डिफ़ॉल्ट एग्ज़िट व्यवहार नहीं होता है. सामान्य वेबपेजों में, ब्राउज़र, पॉइंटर लॉक से बाहर निकलने के लिए Esc कुंजी इंटरसेप्ट करता है. यह व्यवहार Chrome ऐप्स में मौजूद नहीं होता है.
  • वीडियो (ट्यूटोरियल)
  • वेब डेटाबेस (ट्यूटोरियल)

HTML5 जानकारी, ट्यूटोरियल, इंटरैक्टिव प्लेग्राउंड, और अन्य संसाधनों के लिंक के लिए html5rocks.com देखें.

वेब एपीआई

आपका एक्सटेंशन, वेब एपीआई का इस्तेमाल कर सकता है. फ़िल्टर, ऐनिमेशन, और ट्रांसफ़ॉर्मेशन जैसी सीएसएस की सुविधाएं खास तौर पर काम की हैं. यहां पर यूआई को स्पिन बनाने के लिए, WebKit स्टाइल इस्तेमाल करने का एक उदाहरण दिया गया है:

<style>
  div:hover {
    transform: rotate(360deg);
    transition: all 1s ease-out;
  }
</style>
V8 एपीआई, जैसे कि JSON

JSON, V8 में है. इसलिए, JSON फ़ंक्शन का इस्तेमाल करने के लिए, आपको JSON लाइब्रेरी शामिल करने की ज़रूरत नहीं है.

बंडल की गई लाइब्रेरी में एपीआई

अगर आपको किसी ऐसी लाइब्रेरी का इस्तेमाल करना है जिसे ब्राउज़र उपलब्ध नहीं कराता (उदाहरण के लिए, jQuery), तो उस लाइब्रेरी की JavaScript फ़ाइलों को अपने एक्सटेंशन के साथ बंडल करें. बंडल की गई लाइब्रेरी, एक्सटेंशन में ठीक उसी तरह काम करती हैं जिस तरह वे दूसरे वेब पेजों में काम करती हैं.