বিকাশকারীর গাইড

এমবেডেড ভিউয়ার API আপনাকে জাভাস্ক্রিপ্টের সাথে সরাসরি আপনার ওয়েব পৃষ্ঠাগুলিতে Google বই থেকে বইয়ের সামগ্রী এম্বেড করতে দেয়৷ এপিআই বইয়ের প্রিভিউ ম্যানিপুলেট করার জন্য বেশ কিছু ইউটিলিটিও প্রদান করে এবং প্রায়শই এই সাইটে বর্ণিত অন্যান্য API-এর সাথে একসাথে ব্যবহার করা হয়।

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

শ্রোতা

এই ডকুমেন্টেশনটি জাভাস্ক্রিপ্ট প্রোগ্রামিং এবং অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ধারণার সাথে পরিচিত লোকদের জন্য ডিজাইন করা হয়েছে। আপনার ব্যবহারকারীর দৃষ্টিকোণ থেকে Google Books এর সাথেও পরিচিত হওয়া উচিত। ওয়েবে অনেক জাভাস্ক্রিপ্ট টিউটোরিয়াল পাওয়া যায়।

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

উপরে নির্দেশিত হিসাবে, নতুনরা প্রিভিউ উইজার্ড দিয়ে শুরু করতে চাইতে পারে, যা স্বয়ংক্রিয়ভাবে আপনার সাইটে মৌলিক পূর্বরূপ এম্বেড করার জন্য প্রয়োজনীয় কোড তৈরি করে।

এমবেডেড ভিউয়ার API-এর "হ্যালো, ওয়ার্ল্ড"

এমবেডেড ভিউয়ার API সম্পর্কে শেখা শুরু করার সবচেয়ে সহজ উপায় হল একটি সাধারণ উদাহরণ দেখা৷ নিম্নলিখিত ওয়েব পৃষ্ঠাটি মাউন্টেন ভিউ- এর একটি 600x500 পূর্বরূপ প্রদর্শন করে, নিকোলাস পেরি, ISBN 0738531367 (আর্কেডিয়া পাবলিশিং-এর "ইমেজ অফ আমেরিকা" সিরিজের অংশ):

<!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 ট্যাগ ব্যবহার করে API লোডার অন্তর্ভুক্ত করি।
  2. ভিউয়ারকে ধরে রাখতে আমরা "ভিউয়ারক্যানভাস" নামে একটি div উপাদান তৈরি করি।
  3. আমরা একটি "দর্শক" অবজেক্ট তৈরি করতে একটি জাভাস্ক্রিপ্ট ফাংশন লিখি।
  4. আমরা বইটিকে এর অনন্য শনাক্তকারী ব্যবহার করে লোড করি (এই ক্ষেত্রে ISBN:0738531367 )।
  5. API সম্পূর্ণরূপে লোড হয়ে গেলে আমরা কল initialize করতে google.books.setOnLoadCallback ব্যবহার করি।

এই পদক্ষেপগুলি নীচে ব্যাখ্যা করা হয়েছে।

এমবেডেড ভিউয়ার API লোড করা হচ্ছে

এম্বেডেড ভিউয়ার এপিআই লোড করতে API লোডার ফ্রেমওয়ার্ক ব্যবহার করা তুলনামূলকভাবে সহজ। এটি নিম্নলিখিত দুটি পদক্ষেপ জড়িত:

  1. API লোডার লাইব্রেরি অন্তর্ভুক্ত করুন:
    <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>
    

এমবেডেড ভিউয়ার API-এর একটি স্থানীয় সংস্করণ লোড করা হচ্ছে

Embedded Viewer API ডিফল্টরূপে ইংরেজি ব্যবহার করে যখন পাঠ্য তথ্য যেমন টুলটিপ, নিয়ন্ত্রণের নাম এবং লিঙ্ক টেক্সট প্রদর্শন করে। আপনি যদি একটি নির্দিষ্ট ভাষায় তথ্য সঠিকভাবে প্রদর্শন করতে এমবেডেড ভিউয়ার API পরিবর্তন করতে চান, তাহলে আপনি আপনার google.books.load কলে একটি ঐচ্ছিক language প্যারামিটার যোগ করতে পারেন।

উদাহরণস্বরূপ, ব্রাজিলিয়ান পর্তুগিজ ইন্টারফেস ভাষার সাথে একটি বইয়ের পূর্বরূপ মডিউল প্রদর্শন করতে:

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

উদাহরণ দেখুন (book-language.html)

বর্তমানে সমর্থিত RFC 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, ms, no, pl, pt-BR, pt-PT, ro, ru, sr, sk, sl, es, sv, tl, th, tr, uk, এবং vi

ইংরেজি ব্যতীত অন্য ভাষায় এমবেডেড ভিউয়ার API ব্যবহার করার সময়, আমরা দৃঢ়ভাবে আপনার পৃষ্ঠাটিকে utf-8 এ সেট করা একটি content-type শিরোনাম বা আপনার পৃষ্ঠায় একটি সমতুল্য <meta> ট্যাগ সহ পরিবেশন করার সুপারিশ করি। এটি করা নিশ্চিত করতে সাহায্য করে যে অক্ষরগুলি সমস্ত ব্রাউজার জুড়ে সঠিকভাবে রেন্ডার করে৷ আরও তথ্যের জন্য, HTTP অক্ষর সেট প্যারামিটার সেট করার বিষয়ে W3C-এর পৃষ্ঠাটি দেখুন।

ভিউয়ার DOM উপাদান

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

একটি বই একটি ওয়েব পৃষ্ঠায় প্রদর্শনের জন্য, এটির জন্য একটি জায়গা সংরক্ষণ করতে হবে। সাধারণত, এটি একটি নামযুক্ত div উপাদান তৈরি করে এবং ব্রাউজারের ডকুমেন্ট অবজেক্ট মডেল (DOM) এ এই উপাদানটির একটি রেফারেন্স পাওয়ার মাধ্যমে করা হয়।

উপরের উদাহরণটি "ভিউয়ারক্যানভাস" নামে একটি div সংজ্ঞায়িত করে এবং শৈলী বৈশিষ্ট্যগুলি ব্যবহার করে এর আকার সেট করে। ভিউয়ার স্পষ্টভাবে ধারকটির আকার নিজেই আকারে ব্যবহার করে।

ডিফল্টভিউয়ার অবজেক্ট

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

জাভাস্ক্রিপ্ট ক্লাস যেটি পৃষ্ঠায় একটি একক ভিউয়ার তৈরি এবং নিয়ন্ত্রণ করে সেটি হল DefaultViewer ক্লাস। (আপনি এই শ্রেণীর একাধিক উদাহরণ তৈরি করতে পারেন - প্রতিটি বস্তু পৃষ্ঠায় একটি পৃথক দর্শককে সংজ্ঞায়িত করবে।) জাভাস্ক্রিপ্ট new অপারেটর ব্যবহার করে এই শ্রেণীর একটি নতুন উদাহরণ তৈরি করা হয়েছে।

আপনি যখন একটি নতুন ভিউয়ার ইনস্ট্যান্স তৈরি করেন, আপনি দর্শকের জন্য একটি ধারক হিসাবে পৃষ্ঠায় (সাধারণত একটি div উপাদান) একটি DOM নোড নির্দিষ্ট করেন। HTML নোড হল JavaScript document অবজেক্টের সন্তান, এবং আমরা document.getElementById() পদ্ধতির মাধ্যমে এই উপাদানটির একটি রেফারেন্স পাই।

এই কোডটি একটি ভেরিয়েবল (নামযুক্ত viewer ) সংজ্ঞায়িত করে এবং সেই ভেরিয়েবলটিকে একটি নতুন DefaultViewer অবজেক্টে বরাদ্দ করে। DefaultViewer() ফাংশনটি কনস্ট্রাক্টর হিসাবে পরিচিত এবং এর সংজ্ঞা ( এম্বেডেড ভিউয়ার API রেফারেন্স থেকে স্পষ্টতার জন্য ঘনীভূত) নীচে দেখানো হয়েছে:

কনস্ট্রাক্টর বর্ণনা
ডিফল্টভিউয়ার ( কন্টেইনার , অপটস? ) প্রদত্ত HTML container ভিতরে একটি নতুন ভিউয়ার তৈরি করে, যা পৃষ্ঠায় একটি ব্লক-স্তরের উপাদান হওয়া উচিত (সাধারণত একটি DIV )। উন্নত বিকল্পগুলি ঐচ্ছিক opts প্যারামিটার ব্যবহার করে পাস করা হয়।

মনে রাখবেন যে কনস্ট্রাক্টরের দ্বিতীয় প্যারামিটারটি ঐচ্ছিক—এই নথির সুযোগের বাইরে উন্নত বাস্তবায়নের উদ্দেশ্যে-এবং এটি "হ্যালো, ওয়ার্ল্ড" উদাহরণ থেকে বাদ দেওয়া হয়েছে।

একটি নির্দিষ্ট বই দিয়ে দর্শককে শুরু করা

  viewer.load('ISBN:0738531367');

একবার আমরা DefaultViewer কনস্ট্রাক্টরের মাধ্যমে একটি ভিউয়ার তৈরি করার পরে, এটি একটি নির্দিষ্ট বইয়ের সাথে শুরু করা দরকার। ভিউয়ারের load() পদ্ধতি ব্যবহার করে এই আরম্ভ করা হয়। load() পদ্ধতির জন্য একটি identifier মান প্রয়োজন, যা API কে কোন বইটি দেখাতে হবে তা বলে। ভিউয়ার অবজেক্টে অন্য কোনো ক্রিয়াকলাপ সম্পাদিত হওয়ার আগে এই পদ্ধতিটি অবশ্যই পাঠাতে হবে।

আপনি যদি একটি বইয়ের জন্য একাধিক শনাক্তকারীর কথা জানেন—পেপারব্যাক সংস্করণের জন্য ISBN, বা বিকল্প OCLC নম্বরগুলি—আপনি load() ফাংশনে প্রথম প্যারামিটার হিসাবে শনাক্তকারী স্ট্রিংগুলির একটি অ্যারে পাস করতে পারেন৷ অ্যারেতে কোনো শনাক্তকারীর সাথে সংযুক্ত একটি এমবেডযোগ্য পূর্বরূপ থাকলে দর্শক বইটি রেন্ডার করবে।

সমর্থিত বই শনাক্তকারী

ডায়নামিক লিঙ্ক বৈশিষ্ট্যের মতো, এমবেডেড ভিউয়ার API একটি নির্দিষ্ট বই সনাক্ত করতে বেশ কয়েকটি মান সমর্থন করে। এর মধ্যে রয়েছে:

আইএসবিএন
অনন্য 10- বা 13-সংখ্যার বাণিজ্যিক আন্তর্জাতিক স্ট্যান্ডার্ড বুক নম্বর
উদাহরণ: ISBN:0738531367
OCLC নম্বর
ওয়ার্ল্ডক্যাট ক্যাটালগিং সিস্টেমে বইয়ের রেকর্ড যোগ করার সময় OCLC দ্বারা একটি বইয়ের জন্য নির্ধারিত অনন্য নম্বর।
উদাহরণ: OCLC:70850767
এলসিসিএন
কংগ্রেসের লাইব্রেরি কন্ট্রোল নম্বর লাইব্রেরি অফ কংগ্রেস দ্বারা রেকর্ডে বরাদ্দ করা হয়েছে।
উদাহরণ: LCCN:2006921508
Google Books ভলিউম আইডি
অনন্য স্ট্রিং Google Books ভলিউমের জন্য বরাদ্দ করেছে, যা Google Books-এ বইয়ের URL-এ প্রদর্শিত হয়।
উদাহরণ: Py8u3Obs4f4C
Google বই পূর্বরূপ URL
একটি URL যা Google Books-এ একটি বইয়ের পূর্বরূপ পৃষ্ঠা খোলে৷
উদাহরণ: https://books.google.com/books?id=Py8u3Obs4f4C&printsec=frontcover

এই শনাক্তকারীগুলি প্রায়শই Google Books API পরিবারে অন্যান্য API-এর সাথে ব্যবহার করা হয়। উদাহরণস্বরূপ, বইটি এমবেডযোগ্য হলেই আপনি একটি পূর্বরূপ বোতাম রেন্ডার করতে ডায়নামিক লিঙ্কগুলি ব্যবহার করতে পারেন—এবং তারপরে, ব্যবহারকারী যখন বোতামটি ক্লিক করেন, তখন ডায়নামিক লিঙ্ক কল দ্বারা প্রত্যাবর্তিত পূর্বরূপ URL ব্যবহার করে একজন দর্শককে ইনস্ট্যান্টিয়েট করুন৷ একইভাবে, আপনি Books API এর সাথে একটি সমৃদ্ধ ব্রাউজ-এবং-প্রিভিউ অ্যাপ্লিকেশন তৈরি করতে পারেন, যা এর ভলিউম ফিডে বেশ কয়েকটি উপযুক্ত শিল্প শনাক্তকারী প্রদান করে। কিছু উন্নত বাস্তবায়নে উঁকি দিতে উদাহরণ পৃষ্ঠায় যান।

ব্যর্থ সূচনা হ্যান্ডলিং

কিছু ক্ষেত্রে, load কল ব্যর্থ হতে পারে। সাধারণত এটি ঘটে যখন API সরবরাহকৃত শনাক্তকারীর সাথে সম্পর্কিত একটি বই খুঁজে পায় না, যখন বইটির কোনো পূর্বরূপ উপলব্ধ না থাকে, যখন বইয়ের পূর্বরূপ এম্বেড করা যায় না, বা যখন আঞ্চলিক সীমাবদ্ধতা শেষ ব্যবহারকারীকে এই নির্দিষ্ট বইটি দেখতে বাধা দেয়। আপনি এই ধরনের একটি ব্যর্থতা সম্পর্কে সতর্ক হতে ইচ্ছুক হতে পারেন, তাই আপনার কোড এই অবস্থাটি সুন্দরভাবে পরিচালনা করতে পারে। এই কারণে, load ফাংশন আপনাকে একটি ঐচ্ছিক দ্বিতীয় প্যারামিটার পাস করতে দেয়, notFoundCallback , যা নির্দেশ করে যে বইটি লোড করা না গেলে কোন ফাংশনটিকে কল করা উচিত। উদাহরণস্বরূপ, যদি বইটি এম্বেড করা যায় তবে নিম্নলিখিত কোডটি একটি জাভাস্ক্রিপ্ট "সতর্কতা" বাক্স তৈরি করবে:

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 উপাদানটিকে সম্পূর্ণরূপে লুকাতে বেছে নিতে পারেন৷ ব্যর্থ কলব্যাক প্যারামিটারটি ঐচ্ছিক, এবং "হ্যালো ওয়ার্ল্ড" উদাহরণে অন্তর্ভুক্ত নয়৷

দ্রষ্টব্য : যেহেতু পূর্বরূপগুলি সমস্ত বই এবং সমস্ত ব্যবহারকারীর জন্য উপলব্ধ নাও হতে পারে, আপনি এটির জন্য একটি দর্শক লোড করার চেষ্টা করার আগে একটি পূর্বরূপ উপলব্ধ কিনা তা জানতে কার্যকর হতে পারে৷ উদাহরণস্বরূপ, আপনি আপনার UI-তে একটি "Google পূর্বরূপ" বোতাম, পৃষ্ঠা বা বিভাগ দেখাতে চাইতে পারেন শুধুমাত্র যদি একটি পূর্বরূপ ব্যবহারকারীর কাছে উপলব্ধ হবে। আপনি Books API বা Dynamic Links ব্যবহার করে এটি করতে পারেন, উভয়ই রিপোর্ট করে যে কোনো বই ভিউয়ার ব্যবহার করে এম্বেড করার জন্য উপলব্ধ হবে কিনা।

সফল সূচনা পরিচালনা করা

একটি বই সফলভাবে লোড হয়েছে কিনা তা জানতেও এটি কার্যকর হতে পারে। এই কারণে, 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-success.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() পদ্ধতিগুলি ব্যবহারকারীর ইন্টারঅ্যাকশনের পরিবর্তে দর্শকের উপর প্রোগ্রাম্যাটিকভাবে কাজ করে।

নিম্নলিখিত উদাহরণটি একটি বইয়ের পূর্বরূপ প্রদর্শন করে যা স্বয়ংক্রিয়ভাবে প্রতি 3 সেকেন্ডে পরের পৃষ্ঠায় "বাঁকিয়ে নেয়"৷ যদি পরবর্তী পৃষ্ঠাটি দর্শকের দৃশ্যমান অংশে থাকে, তাহলে দর্শক পৃষ্ঠায় মসৃণভাবে প্যান করে; যদি না হয়, দর্শক সরাসরি পরবর্তী পৃষ্ঠার শীর্ষে চলে যায়।

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)

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

DefaultViewer অবজেক্ট দ্বারা সমর্থিত সমস্ত ফাংশন সম্পর্কে তথ্যের জন্য, রেফারেন্স গাইড দেখুন।

প্রোগ্রামিং নোট

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

ব্রাউজার সামঞ্জস্য

এমবেডেড ভিউয়ার এপিআই ইন্টারনেট এক্সপ্লোরার, ফায়ারফক্স এবং সাফারির সাম্প্রতিক সংস্করণগুলিকে সমর্থন করে—এবং সাধারণত অন্যান্য গেকো- এবং ওয়েবকিট-ভিত্তিক ব্রাউজার যেমন ক্যামিনো এবং গুগল ক্রোমকেও সমর্থন করে।

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

অ-তুচ্ছ অ্যাপ্লিকেশনগুলি অনিবার্যভাবে ব্রাউজার এবং প্ল্যাটফর্মগুলির মধ্যে অসঙ্গতির সম্মুখীন হবে৷ quirksmode.org- এর মতো সাইটগুলিও সমাধান খোঁজার জন্য ভাল সংস্থান।

XHTML এবং quirks মোড

আমরা সুপারিশ করি যে আপনি দর্শক ধারণ করা পৃষ্ঠাগুলিতে মান-সম্মত XHTML ব্যবহার করুন। ব্রাউজাররা যখন পৃষ্ঠার শীর্ষে XHTML DOCTYPE দেখতে পায়, তখন তারা পৃষ্ঠাটিকে "স্ট্যান্ডার্ডস কমপ্লায়েন্স মোডে" রেন্ডার করে, যা ব্রাউজার জুড়ে লেআউট এবং আচরণগুলিকে অনেক বেশি অনুমানযোগ্য করে তোলে। এই সংজ্ঞা ছাড়া পৃষ্ঠাগুলি " quirks মোডে " রেন্ডার হতে পারে যা অসামঞ্জস্যপূর্ণ বিন্যাসের দিকে নিয়ে যেতে পারে৷

<!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">

এমবেডেড ভিউয়ার API উদাহরণগুলির উপর একটি নোট৷

মনে রাখবেন যে এই ডকুমেন্টেশনের বেশিরভাগ উদাহরণ শুধুমাত্র প্রাসঙ্গিক জাভাস্ক্রিপ্ট কোড দেখায়, সম্পূর্ণ HTML ফাইল নয়। আপনি জাভাস্ক্রিপ্ট কোডটি আপনার নিজস্ব কঙ্কাল HTML ফাইলে প্লাগ করতে পারেন, অথবা আপনি উদাহরণের পরে লিঙ্কটিতে ক্লিক করে প্রতিটি উদাহরণের জন্য সম্পূর্ণ HTML ফাইল ডাউনলোড করতে পারেন।

সমস্যা সমাধান

যদি আপনার কোড কাজ করছে বলে মনে হয় না, তাহলে এখানে কিছু পন্থা রয়েছে যা আপনাকে আপনার সমস্যার সমাধান করতে সাহায্য করতে পারে: