डेवलपर की गाइड

एम्बेड किए गए व्यूअर एपीआई की मदद से, Google Books से किताब के कॉन्टेंट को, JavaScript की मदद से सीधे अपने वेब पेजों में एम्बेड किया जा सकता है. यह एपीआई किताब की झलक में हेर-फेर करने के लिए भी कई सुविधाएं देता है. साथ ही, इस साइट पर बताए गए दूसरे एपीआई के साथ इसका इस्तेमाल अक्सर किया जाता है.

झलक देखें विज़र्ड, एम्बेड किए गए व्यूअर एपीआई के ऊपर बनाया गया एक टूल है. इसकी मदद से, आपकी साइट पर झलक देखने की सुविधाएं आसानी से जोड़ी जा सकती हैं. इसके लिए, आपको बस कुछ लाइनों के कोड को कॉपी करना होगा. यह दस्तावेज़ उन डेवलपर के लिए है जो अपनी साइट पर दर्शक के दिखने के तरीके को पसंद के मुताबिक बनाना चाहते हैं.

दर्शक

यह दस्तावेज़ उन लोगों के लिए बनाया गया है जिन्हें JavaScript प्रोग्रामिंग और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के सिद्धांतों के बारे में जानकारी है. उपयोगकर्ताओं के नज़रिये से आपको Google Books के बारे में भी जानकारी होनी चाहिए. वेब पर कई JavaScript ट्यूटोरियल उपलब्ध हैं.

इस सैद्धांतिक दस्तावेज़ में पूरी जानकारी नहीं है. इसे इस तरह से डिज़ाइन किया गया है कि आप एम्बेड किए गए व्यूअर एपीआई का इस्तेमाल करके, तेज़ी से शानदार ऐप्लिकेशन एक्सप्लोर करना और डेवलप करना शुरू कर सकें. ज़्यादा जानकारी रखने वाले लोगों को एम्बेड किए गए दर्शक एपीआई का संदर्भ देखना चाहिए. इसमें काम करने वाले तरीकों और रिस्पॉन्स के बारे में ज़्यादा जानकारी मिलती है.

जैसा कि ऊपर बताया गया है, हो सकता है कि नए उपयोगकर्ता, झलक देखें विज़र्ड का इस्तेमाल शुरू करना चाहें. यह प्रोसेस, आपकी साइट पर बुनियादी झलक को एम्बेड करने के लिए ज़रूरी कोड अपने-आप जनरेट करती है.

Embedded Viewer API का "नमस्ते, दुनिया"

एम्बेड किए गए दर्शक एपीआई के बारे में आसानी से जानने के लिए, इसका एक उदाहरण देखें. नीचे दिया गया वेब पेज, निकोलस के माउंटेन व्यू के 600x500 वर्शन की झलक को दिखाता है. पेरी, ISBN 0738531367 (Arcadia Publishing की "इमेज ऑफ़ अमेरिका" सीरीज़ का हिस्सा है):

<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Google Books Embedded Viewer API Example</title>
    <script type="text/javascript" src="https://www.google.com/books/jsapi.js"></script>
    <script type="text/javascript">
      google.books.load();

      function initialize() {
        var viewer = new google.books.DefaultViewer(document.getElementById('viewerCanvas'));
        viewer.load('ISBN:0738531367');
      }

      google.books.setOnLoadCallback(initialize);
    </script>
  </head>
  <body>
    <div id="viewerCanvas" style="width: 600px; height: 500px"></div>
  </body>
</html>

आप इस उदाहरण को देख सकते हैं और इसमें बदलाव करने और इसके साथ काम करने के लिए इसे डाउनलोड कर सकते है. इस आसान उदाहरण में भी, ध्यान देने के लिए पांच चीज़ें हैं:

  1. हम script टैग का इस्तेमाल करके, एपीआई लोडर को शामिल करते हैं.
  2. व्यूअर को होल्ड करने के लिए, हम "viewerCanvas" नाम का एक div एलिमेंट बनाते हैं.
  3. हम "व्यूअर" ऑब्जेक्ट बनाने के लिए, JavaScript फ़ंक्शन लिखते हैं.
  4. हम किताब को उसके यूनीक आइडेंटिफ़ायर (इस मामले में ISBN:0738531367) का इस्तेमाल करके लोड करते हैं.
  5. एपीआई के पूरी तरह लोड हो जाने पर, हम initialize को कॉल करने के लिए google.books.setOnLoadCallback का इस्तेमाल करते हैं.

इन चरणों से जुड़ी ज़्यादा जानकारी नीचे दी गई है.

एम्बेड किए गए व्यूअर एपीआई को लोड करना

एम्बेड किए गए व्यूअर एपीआई को लोड करने के लिए, एपीआई लोडर फ़्रेमवर्क का इस्तेमाल करना आसान है. इसमें, ये दो चरण शामिल हैं:

  1. एपीआई लोडर लाइब्रेरी को शामिल करें:
    <script type="text/javascript" src="https://www.google.com/books/jsapi.js"></script>
    
  2. google.books.load तरीका शुरू करें. google.books.load तरीका, कॉलबैक फ़ंक्शन या भाषा की जानकारी देने वाला वैकल्पिक सूची पैरामीटर लेता है. इसके बारे में नीचे बताया गया है.
    <script type="text/javascript">
      google.books.load();
    </script>
    

एम्बेड किए गए व्यूअर एपीआई का स्थानीय भाषा में लिखा गया वर्शन लोड करना

टूलटिप, कंट्रोल के नाम, और लिंक टेक्स्ट जैसी टेक्स्ट जानकारी दिखाते समय, एम्बेड किया गया व्यूअर एपीआई डिफ़ॉल्ट रूप से अंग्रेज़ी का इस्तेमाल करता है. अगर आपको किसी खास भाषा में जानकारी को ठीक से दिखाने के लिए, एम्बेड किया गया व्यूअर एपीआई बदलना है, तो अपने google.books.load कॉल में language पैरामीटर जोड़ें. हालांकि, ऐसा करना ज़रूरी नहीं है.

उदाहरण के लिए, ब्राज़ीलियन पॉर्चुगीज़ इंटरफ़ेस भाषा के साथ किताब की झलक दिखाने वाला मॉड्यूल दिखाने के लिए:

<script type="text/javascript">
  google.books.load({"language": "pt-BR"});
</script>

उदाहरण देखें (book-language.html)

फ़िलहाल, आरएफ़सी 3066 के इन भाषाओं के कोड इस्तेमाल किए जा सकते हैं: af, ar, hy, bg, ca, zh-CN, zh-TW, hr, cs, da, nl, en, fil, fi, fr, de, el, he, hu, is, id, it, ja, ko, lv, lt, it, ja, ko, lv, lt, pt, ps, no,

हमारा सुझाव है कि अंग्रेज़ी के अलावा, दूसरी भाषाओं में एम्बेड किए गए दर्शक के एपीआई का इस्तेमाल करते समय, आप अपने पेज को content-type हेडर के साथ utf-8 पर सेट करें या उसके जैसा <meta> टैग अपने पेज पर शामिल करें. ऐसा करने से यह पक्का करने में मदद मिलती है कि वर्ण सभी ब्राउज़र में सही तरीके से रेंडर हो रहे हैं. ज़्यादा जानकारी के लिए, एचटीटीपी वर्णसेट पैरामीटर सेट करने का तरीका W3C पेज देखें.

दर्शक के डीओएम एलिमेंट

<div id="viewerCanvas" style="width: 600px; height: 500px"></div>

वेब पेज पर किताब दिखाने के लिए, एक जगह बुक करनी होगी. आम तौर पर, ऐसा div एलिमेंट बनाकर किया जाता है. इसके बाद, ब्राउज़र के दस्तावेज़ ऑब्जेक्ट मॉडल (DOM) में इस एलिमेंट का रेफ़रंस लिया जाता है.

ऊपर दिए गए उदाहरण में "व्यूअरकैनवस" नाम के div के बारे में बताया गया है. साथ ही, स्टाइल एट्रिब्यूट का इस्तेमाल करके इसका साइज़ सेट किया जाता है. दर्शक, खुद को साइज़ देने के लिए साफ़ तौर पर कंटेनर के साइज़ का इस्तेमाल करता है.

defaultViewer ऑब्जेक्ट

var viewer = new google.books.DefaultViewer(document.getElementById('viewerCanvas'));

वह JavaScript क्लास जो पेज पर एक दर्शक बनाता और कंट्रोल करता है, वह DefaultViewer क्लास होती है. (आप इस क्लास के एक से ज़्यादा इंस्टेंस बना सकते हैं - हर ऑब्जेक्ट, पेज पर एक अलग व्यूअर को तय करेगा.) JavaScript new ऑपरेटर का इस्तेमाल करके इस क्लास का एक नया इंस्टेंस बनाया गया है.

नया व्यूअर इंस्टेंस बनाते समय, आपको व्यूअर के लिए कंटेनर के तौर पर पेज में एक डीओएम नोड (आम तौर पर, div एलिमेंट) तय करना होता है. एचटीएमएल नोड JavaScript document ऑब्जेक्ट के चाइल्ड होते हैं और हमें document.getElementById() तरीके से इस एलिमेंट का रेफ़रंस मिलता है.

यह कोड एक वैरिएबल (जिसका नाम viewer है) के बारे में बताता है और उस वैरिएबल को एक नए DefaultViewer ऑब्जेक्ट को असाइन करता है. DefaultViewer() फ़ंक्शन को कंस्ट्रक्टर के तौर पर जाना जाता है. इसकी परिभाषा ( एम्बेड किए गए दर्शक एपीआई रेफ़रंस से साफ़ तौर पर ली गई है) यहां दी गई है:

निर्माता जानकारी
DefaultViewer(container, opts?) दिए गए एचटीएमएल container में नया व्यूअर बनाता है, जो पेज पर ब्लॉक-लेवल का एलिमेंट होना चाहिए (आम तौर पर, DIV). बेहतर विकल्पों को वैकल्पिक opts पैरामीटर का इस्तेमाल करके पास किया जाता है.

ध्यान दें कि कंस्ट्रक्टर में दूसरा पैरामीटर वैकल्पिक है—जिसे इस दस्तावेज़ के स्कोप से बाहर की बेहतर सुविधाओं के लिए बनाया गया है—और इसे "Hey, World" उदाहरण में शामिल नहीं किया गया है.

दर्शक को कोई खास किताब पढ़ना शुरू करना

  viewer.load('ISBN:0738531367');

जब हम DefaultViewer कंस्ट्रक्टर के ज़रिए व्यूअर बना लेते हैं, तो इसे किसी खास किताब के साथ शुरू करना होगा. यह प्रोसेस, दर्शक के load() तरीके का इस्तेमाल करके पूरी की जाती है. load() तरीके के लिए, identifier वैल्यू की ज़रूरत होती है. इससे एपीआई को यह पता चलता है कि कौनसी किताब दिखानी है. व्यूअर ऑब्जेक्ट पर कोई अन्य कार्रवाई करने से पहले, यह तरीका भेजना ज़रूरी है.

अगर आपको किसी किताब के एक से ज़्यादा आइडेंटिफ़ायर के बारे में पता है, जैसे कि पेपरबैक एडिशन का ISBN या वैकल्पिक OCLC नंबर, तो आपके पास load() फ़ंक्शन में पहले पैरामीटर के तौर पर, आइडेंटिफ़ायर स्ट्रिंग के कलेक्शन को पास करने का विकल्प होता है. अगर कलेक्शन में मौजूद किसी भी आइडेंटिफ़ायर से जुड़ी झलक को एम्बेड किया जा सकता है, तो व्यूअर किताब को रेंडर करेगा.

किताब के लिए इस्तेमाल किए जा सकने वाले आइडेंटिफ़ायर

डाइनैमिक लिंक की सुविधा की तरह ही, एम्बेड किए गए दर्शक का एपीआई भी किसी किताब की पहचान करने के लिए कई वैल्यू के साथ काम करता है. इन देशों या इलाकों में शामिल हैं:

ISBN
10 या 13 अंकों का यूनीक व्यावसायिक इंटरनैशनल स्टैंडर्ड बुक नंबर.
उदाहरण: ISBN:0738531367
OCLC नंबर
जब किताब के रिकॉर्ड को WorldCat के कैटलॉगिंग सिस्टम में जोड़ा जाता है, तब OCLC की ओर से किसी किताब को असाइन किया गया यूनीक नंबर.
उदाहरण: OCLC:70850767
एलसीसीएन
लाइब्रेरी ऑफ़ कांग्रेस कंट्रोल नंबर, जिसे लाइब्रेरी ऑफ़ कांग्रेस ने रिकॉर्ड के लिए असाइन किया है.
उदाहरण: LCCN:2006921508
Google Books का वॉल्यूम आईडी
वॉल्यूम को असाइन की गई Google Books की यूनीक स्ट्रिंग. यह Google Books पर मौजूद किताब के यूआरएल में दिखती है.
उदाहरण: Py8u3Obs4f4C
Google Books पर किताब की झलक का यूआरएल
ऐसा यूआरएल जो Google Books पर किताब की झलक दिखाने वाला पेज खोलता है.
उदाहरण: https://books.google.com/books?id=Py8u3Obs4f4C&printsec=frontcover

इन आइडेंटिफ़ायर का इस्तेमाल अक्सर Google Books API फ़ैमिली में अन्य एपीआई के साथ किया जाता है. उदाहरण के लिए, डाइनैमिक लिंक का इस्तेमाल करके, झलक दिखाने वाले बटन को सिर्फ़ तब रेंडर किया जा सकता है, जब किताब एम्बेड की जा सकती हो. इसके बाद, जब उपयोगकर्ता बटन पर क्लिक करता है, तो डाइनैमिक लिंक कॉल से मिले, झलक दिखाने वाले यूआरएल का इस्तेमाल करके दर्शक को इंस्टैंशिएट किया जा सकता है. इसी तरह, Books API की मदद से, बेहतर तरीके से ब्राउज़ करने और झलक देखने की सुविधा देने वाला ऐप्लिकेशन बनाया जा सकता है. यह अपने Volumes फ़ीड में, सही इंडस्ट्री आइडेंटिफ़ायर दिखाता है. लागू करने के कुछ बेहतर तरीकों की झलक देखने के लिए, उदाहरण वाले पेज पर जाएं.

प्रोसेस नहीं किए जा सके, प्रोसेस नहीं किए जा सके

कुछ मामलों में, हो सकता है कि load कॉल न किया जा सके. आम तौर पर, ऐसा तब होता है, जब एपीआई को उपलब्ध कराए गए आइडेंटिफ़ायर से जुड़ी कोई किताब नहीं मिलती. इसके अलावा, किताब की कोई झलक न होने पर, किताब की झलक एम्बेड नहीं की जा सकती या जब क्षेत्रीय प्रतिबंध की वजह से असली उपयोगकर्ता को यह किताब नहीं दिखती, तब भी ऐसा होता है. ऐसा हो सकता है कि आपको इस तरह की गड़बड़ी के बारे में सूचना मिले, ताकि आपका कोड इस स्थिति को सही तरीके से मैनेज कर सके. इसी वजह से, load फ़ंक्शन आपको एक वैकल्पिक दूसरा पैरामीटर, notFoundCallback पास करने देता है, जो बताता है कि अगर किताब लोड नहीं हो सकी तो किस फ़ंक्शन को कॉल किया जाना चाहिए. उदाहरण के लिए, अगर किताब एम्बेड की जा सकती है, तो नीचे दिया गया कोड एक JavaScript "सूचना" बॉक्स जनरेट करेगा:

function alertNotFound() {
  alert("could not embed the book!");
}

function initialize() {
  var viewer = new google.books.DefaultViewer(document.getElementById('viewerCanvas'));
  viewer.load('ISBN:1234', alertNotFound);
}

उदाहरण देखें (book-notfound.html)

इस कॉलबैक का इस्तेमाल करके, इस तरह की गड़बड़ी दिखाई जा सकती है या viewerCanvas एलिमेंट को पूरी तरह से छिपाया जा सकता है. फ़ेलियर कॉलबैक पैरामीटर ज़रूरी नहीं है. साथ ही, इसे "Hey World" के उदाहरण में शामिल नहीं किया जाता.

ध्यान दें: ऐसा हो सकता है कि झलक सभी किताबों और सभी उपयोगकर्ताओं के लिए उपलब्ध न हो. ऐसे में, किताब के लिए व्यूअर को लोड करने से पहले यह जानना मददगार हो सकता है कि झलक उपलब्ध है या नहीं. उदाहरण के लिए, हो सकता है कि आप अपने यूज़र इंटरफ़ेस (यूआई) में "Google की झलक" बटन, पेज या सेक्शन सिर्फ़ तब दिखाना चाहें, जब वाकई में उपयोगकर्ता को झलक उपलब्ध हो. Books API या डाइनैमिक लिंक का इस्तेमाल करके ऐसा किया जा सकता है. इन दोनों से पता चलता है कि व्यूअर का इस्तेमाल करके एम्बेड करने के लिए कोई किताब उपलब्ध होगी या नहीं.

प्रोसेस शुरू करने के सही तरीकों को मैनेज करना

इससे यह जानने में भी मदद मिल सकती है कि किताब सही से लोड हो गई है या नहीं. इसी वजह से, load फ़ंक्शन एक वैकल्पिक तीसरे पैरामीटर, successCallback के साथ काम करता है, जो किताब के लोड होने पर और उसके बाद चलाया जाएगा.

function alertInitialized() {
  alert("book successfully loaded and initialized!");
}

function initialize() {
  var viewer = new google.books.DefaultViewer(document.getElementById('viewerCanvas'));
  viewer.load('ISBN:0738531367', null, alertInitialized);
}

उदाहरण देखें (book-सफल.html)

यह कॉलबैक तब मददगार हो सकता है, जब आपको अपने पेज पर कुछ एलिमेंट तब ही दिखाने हों, जब व्यूअर ने पूरी तरह रेंडर किया हो.

दर्शक को लोड होते हुए दिखाना

  google.books.setOnLoadCallback(initialize);

एचटीएमएल पेज के रेंडर होने के दौरान, दस्तावेज़ ऑब्जेक्ट मॉडल (DOM) तैयार किया जाता है. साथ ही, किसी भी बाहरी इमेज और स्क्रिप्ट को लिया जाता है और उन्हें document ऑब्जेक्ट में शामिल कर दिया जाता है. यह पक्का करने के लिए कि पेज के पूरी तरह लोड होने के बाद ही दर्शक को पेज पर रखा जाए, google.books.setOnLoadCallback फ़ंक्शन का इस्तेमाल DefaultViewer ऑब्जेक्ट को बनाने वाले फ़ंक्शन के एक्ज़ीक्यूशन को रोकने के लिए किया जाता है. setOnLoadCallback, initialize को सिर्फ़ तब कॉल करेगा, जब एम्बेड किया गया व्यूअर एपीआई लोड हो और वह इस्तेमाल के लिए तैयार हो. इस वजह से, यह तय होता है कि दर्शक, कब और कैसे ड्रॉ कर रहे हैं. यह अनचाहे व्यवहार से बचा जाता है.

ध्यान दें: क्रॉस-ब्राउज़र के साथ काम करने के लिए, हमारा सुझाव है कि आप अपने <body> टैग पर onLoad इवेंट का इस्तेमाल करने के बजाय, google.books.setOnLoadCallback फ़ंक्शन का इस्तेमाल करके व्यूअर लोड को शेड्यूल करें.

दर्शकों के इंटरैक्शन

अब आपके पास DefaultViewer ऑब्जेक्ट है, इसलिए इससे इंटरैक्ट किया जा सकता है. दर्शक का बेसिक ऑब्जेक्ट, काफ़ी हद तक उस दर्शक की तरह दिखता और काम करता है जिससे Google Books की वेबसाइट पर इंटरैक्ट किया जाता है. साथ ही, इसमें कई चीज़ें पहले से मौजूद होती हैं.

हालांकि, प्रोग्राम के हिसाब से दर्शकों से इंटरैक्ट भी किया जा सकता है. DefaultViewer ऑब्जेक्ट, ऐसे कई तरीकों के साथ काम करता है जो झलक की स्थिति को सीधे बदल देते हैं. उदाहरण के लिए, zoomIn(), nextPage(), और highlight() तरीके, उपयोगकर्ता इंटरैक्शन के बजाय दर्शक पर प्रोग्राम के ज़रिए काम करते हैं.

नीचे दिए गए उदाहरण में एक ऐसी किताब की झलक दिखाई गई है जो हर तीन सेकंड में अपने-आप अगले पेज पर "बदलती है". अगर व्यूअर को अगला पेज दिख रहा है, तो इसका मतलब है कि व्यूअर आसानी से पेज पर पैन करता है. अगर नहीं, तो व्यूअर सीधे अगले पेज पर सबसे ऊपर चला जाता है.

function nextStep(viewer) {
  window.setTimeout(function() {
    viewer.nextPage();
    nextStep(viewer);
  }, 3000);
}

function initialize() {
  var viewer = new google.books.DefaultViewer(document.getElementById('viewerCanvas'));
  viewer.load('ISBN:0738531367');
  nextStep(viewer);
}

google.books.setOnLoadCallback(initialize);

उदाहरण देखें (book-animate.html)

ध्यान दें कि व्यूअर को प्रोग्रामैटिक कॉल तब तक नहीं भेजे जा सकेंगे, जब तक वे किसी किताब के साथ शुरू नहीं हो जाते. यह पक्का करने के लिए कि व्यूअर के तैयार होने पर ही ऐसे फ़ंक्शन को कॉल किया जाए, successCallback पैरामीटर का इस्तेमाल viewer.load के लिए करें, जैसा कि ऊपर बताया गया है.

DefaultViewer ऑब्जेक्ट के साथ काम करने वाले सभी फ़ंक्शन के बारे में जानकारी पाने के लिए, रेफ़रंस गाइड देखें.

प्रोग्रामिंग नोट

एम्बेड किए गए Viewer API के बारे में ज़्यादा जानने से पहले, आपको इन समस्याओं पर ध्यान देना चाहिए. इससे यह पक्का हो सकेगा कि आपका ऐप्लिकेशन, इसके लिए तय किए गए प्लैटफ़ॉर्म पर ठीक से काम करे.

ब्राउज़र के साथ काम करना

एम्बेड किया गया Viewer API, Internet Explorer, Firefox, और Safari के नए वर्शन के साथ काम करता है. आम तौर पर, यह एपीआई Camino और Google Chrome जैसे अन्य Gecko और WebKit पर आधारित ब्राउज़र के साथ भी काम करता है.

अलग-अलग ऐप्लिकेशन के लिए, कभी-कभी काम न करने वाले ब्राउज़र वाले उपयोगकर्ताओं के लिए अलग-अलग व्यवहार की ज़रूरत होती है. अगर किसी ब्राउज़र के साथ काम न करने वाले ब्राउज़र के बारे में पता चलता है, तो एम्बेड किए गए व्यूअर एपीआई को अपने-आप काम नहीं करता. इस दस्तावेज़ में दिए गए ज़्यादातर उदाहरण, ब्राउज़र के साथ काम करने की जांच नहीं करते और न ही पुराने ब्राउज़र के लिए गड़बड़ी का मैसेज दिखाते हैं. हो सकता है कि रीयल ऐप्लिकेशन, पुराने या काम न करने वाले ब्राउज़र के साथ कुछ और अच्छे से काम करें, लेकिन जांच से उदाहरणों को आसान बनाया जाता है.

आम तौर पर, एक जैसे ऐप्लिकेशन के ब्राउज़र और प्लैटफ़ॉर्म में अंतर होना चाहिए. quirksmode.org जैसी साइटें, इस समस्या को हल करने का एक अच्छा तरीका है.

XHTML और क्वर्क मोड

हमारा सुझाव है कि आप व्यूअर वाले पेज पर मानकों का पालन करने वाले एक्सएचटीएमएल का इस्तेमाल करें. जब ब्राउज़र को पेज पर सबसे ऊपर एक्सएचटीएमएल DOCTYPE दिखता है, तो वे पेज को "स्टैंडर्ड अनुपालन मोड" में रेंडर करते हैं. इससे सभी ब्राउज़र में लेआउट और व्यवहार का बेहतर अनुमान लगाया जा सकता है. बिना परिभाषा वाले पेज "क्वर्क्स मोड" में रेंडर हो सकते हैं, जिसकी वजह से लेआउट में अंतर दिख सकता है.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

Embed Viewer API के उदाहरणों के बारे में जानकारी

ध्यान दें कि इस दस्तावेज़ में दिए गए ज़्यादातर उदाहरणों में सिर्फ़ काम का JavaScript कोड दिखाया गया है, पूरा एचटीएमएल फ़ाइल नहीं. JavaScript कोड को अपनी स्केलेटन एचटीएमएल फ़ाइल में प्लग किया जा सकता है या हर उदाहरण के लिए पूरी एचटीएमएल फ़ाइल डाउनलोड की जा सकती है. ऐसा करने के लिए, उदाहरण के बाद दिए गए लिंक पर क्लिक करें.

समस्या का हल

अगर आपका कोड काम नहीं कर रहा है, तो यहां कुछ ऐसे तरीके दिए गए हैं जिनसे आपको अपनी समस्याएं हल करने में मदद मिल सकती है:

  • टाइपिंग की गलतियां ढूंढें. याद रखें कि JavaScript एक केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) है.
  • JavaScript डीबगर का इस्तेमाल करें Firefox में, आपके पास JavaScript कंसोल, वैंकमैन डीबगर या Firebug ऐड-ऑन का इस्तेमाल करने का विकल्प होता है. IE में, Microsoft स्क्रिप्ट डीबगर का इस्तेमाल किया जा सकता है. Google Chrome ब्राउज़र में कई डेवलपमेंट टूल पहले से मौजूद हैं. इनमें DOM इंस्पेक्टर और JavaScript डीबगर शामिल हैं.