Revision 515401 of ইনডেক্সডডিবি

  • Revision slug: IndexedDB
  • Revision title: IndexedDB
  • Revision id: 515401
  • Created:
  • Creator: towfiqueanam
  • Is current revision? No
  • Comment

Revision Content

 ইনডেক্সডডিবি (IndexedDB) ক্লায়েন্ট-সাইড স্টোরেজ এর জন্য একটি এপিআই যা গুরুত্বপূর্ণ পরিমান গাঠনিক ডাটা জমা রাখে এবং যা ইনডেক্স এর সাহায্যে উক্ত ডাটার উপর উচ্চ কর্মক্ষমতাসম্পন্ন  অনুসন্ধান চালাতে পারে।যেখানে ডোম স্টোরেজ  উপকারী ক্ষুদ্র পরিমান ডাটা জমা রাখার জন্য, এটি কম উপকারী বড় আকারের গাঠনিক ডাটা জমা করার জন্য, সেক্ষেত্রে ইনডেক্সডডিবি(indexedDB) একটি সমাধান প্রদান করে।

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

ইনডেক্সডডিবি(IndexedDB)  সিনক্রোনাস এবং এসিনক্রোনাস এক্সেস এর জন্য পৃথক এপিআই প্রদান করে। সিনক্রোনাস এপিআই কেবল ওয়েব ওয়ার্কার   এর ভিতরে ব্যবহারের জন্য কিন্তু এটি এখনও কোন ব্রাউজারে বাস্তবায়ন করা হয়নি। এসিনক্রোনাস এপিআই ওয়েবওয়ার্কার এর ভিতরে ও বাইরে উভয় জায়গাতে কাজ করে,কিন্তু ফায়ারফক্সে এখনও বাস্তবায়ন হয়নি।

এসিনক্রোনাস এপিআই

এসিনক্রোনাস এপিআই মেথড কলিং থ্রেডকে ব্লক না করে তা রিটার্ন করে। একটি  ডাটাবেজ এ এসিনক্রোনাস প্রবেশাধিকার নেওয়ার জন্য ,একটি   window অবজেক্টের   indexedDB এট্রিবিউট এর  open() কল করুন। এই মেথড একটি  {{domxref("IDBRequest")}} অবজেক্ট রিটার্ন করে ;এসিনক্রোনাস অপারেশনগুলো  এপ্লিকেশন এর সাথে যোগাযোগ করে {{domxref("IDBRequest")}} অবজেক্টগুলোর ইভেন্ট চালুর মাধ্যমে।

নোট:   indexedDB অবজেক্ট পুরাতন ব্রাউজার ভার্সনগুলোতে পূর্বনির্ধারিত (property mozIndexedDB  Gecko < 16 এ , webkitIndexedDB  Chrome এ, এবং  msIndexedDB  IE 10 ে).

এসিনক্রোনাস ইনডেক্সডডিবি (IndexedDB) এপিআই এর ইন্টারফেসগুলো নিচের ন্যায়:

{{domxref("IDBFactory")}}
ডাটাবেজে প্রবেশাধিকার প্রদান করে। গ্লোবাল অবজেক্ট  indexedDB এই ইন্টারফেসটি বাস্তবায়ন করছে এবং এই এপিআই এর জন্য এটি প্রবেশমুখ।
{{domxref("IDBCursor")}}
অবজেক্ট স্টোরসমূহ এবং ইনডেক্সসমূহের উপর বারবার ইটারেট করে।
{{domxref("IDBCursorWithValue")}}
অবজেক্ট স্টোরসমূহ এবং ইনডেক্সসমূহ বারবার ইটারেট করে এবং কার্সর এর বর্তমান মান রিটার্ন করে।
{{domxref("IDBDatabase")}}
ডাটাবেজের একটি সংযোগ বুঝায়। এটি একমাত্র রাস্তা যা দিয়ে ডাটাবেজে লেনদেন সম্ভব।
{{domxref("IDBEnvironment")}}
একটি ক্লায়েন্ট-সাইড ডাটাবেজে প্রবেশাধিকার প্রদান করে। এটি {{ domxref("window") }} এবং{{ domxref("worker") }} অবজেক্টসমূহদ্বারা বাস্তবায়িত হচ্ছে।
{{domxref("IDBIndex")}}
একটি ইনডেক্স এর মেটাডাটাতে প্রবেশাধিকার প্রদান করে।
{{domxref("IDBKeyRange")}}
কীসমূহের একটি সীমা সংজ্ঞায়িত করে।
{{domxref("IDBObjectStore")}}
একটি অবজেক্ট স্টোরকে প্রতিনিধিত্ব করে।
{{domxref("IDBOpenDBRequest")}}
একটি ডাটাবেজ খোলার অনুরোধকে প্রতিনিধিত্ব করে।
{{domxref("IDBRequest")}}
ডাটাবেজ এবং ডাটাবেজ অবজেক্টসমূহে এসিনক্রোনাস অনুরোধগুলোর ফলাফলে প্রবেশাধিকার প্রদান করে। এটি হল যেটি আপনি এসিনক্রোনাস মেথডকে কল করার ফলে পান।
{{domxref("IDBTransaction")}}
একটি ডাটাবেজ ট্রানসেকশনকে প্রতিনিধিত্ব করে। আপনি একটি ডাটাবেজে ট্রানসেকশন তৈরী করেন,স্কোপটি বলে দিলে(যেমন কোন অবজেক্ট স্টোরগুলোতে আপনি প্রবেশাধিকার চাচ্ছেন) এবং কি ধরণের প্রবেশাধিকার চাচ্ছেন( কেবলমাত্র পাঠ নাকি লেখাসহ)।

স্পেসিফেকেশন এর একটি প্রাথমিক ভার্সনে এই মুছে ফেলা ইন্টারফেসগুলো সংজ্ঞায়িত ছিল। কিন্তু এগুলো এখনো নথিবদ্ধ করে রাখা হয়েছে যাতে আপনার পূর্বে লেখা কোন কোড পরিবর্তনের প্রয়োজন হয়।

{{domxref("IDBVersionChangeRequest")}}
একটি ডাটাবেজের ভার্সন পরিবর্তনের অনুরোধকে প্রতিনিধিত্ব কওরে। ডাটাবেজের ভার্সন পরিবর্তনের উপায় সম্প্রতি বদলানো হয়েছে ({{domxref("IDBFactory.open")}} কে কল করে এবং {{domxref("IDBDatabase.setVersion")}}কে কল না করে), এবং {{domxref("IDBOpenDBRequest")}} ইন্টারফেসটি এখন মুছে ফেলা {{domxref("IDBVersionChangeRequest")}} এর কাজ করতে পারে।
{{domxref("IDBDatabaseException")}}  {{ obsolete_inline() }}
ডাটাবেজ অপারেশন এর সময় প্রাপ্ত এক্সসেপশন শর্তগুলোকে প্রতিনিধিত্ব করে।

নোট:  এই  এপিআই এর একটি সিনক্রোনাস ভার্সন   আছে,যা  কোন ব্রাউজার এখনও বাস্তবায়িত হয়নি। এটি  কোন ব্রাউজারে এখনও বাস্তবায়িত হয় নি। এটি  ওয়েব ওয়ার্কার  এর সাথে ব্যবহারের জন্য তৈরী।

 স্টোরেজ সীমা

একক ডাটাবেজ এর আইটেম সাইজ এর কোন সীমা নেই। কিন্তু ইনডেক্সডডিবি (IndexedDB) ডাটাবেজ সাইজ এর একটি সীমা থাকতে পারে। এই সীমা(এবং কিভাবে ইউজার ইন্টারফেস তা ব্যবহার করবে) তা এক ব্রাউজার ও অন্য ব্রাউজার এ ভিন্ন হতে পারে।

  • ফায়ারফক্স: ইনডেক্সডডিবি ডাটাবেজ সাইজের কোন সীমা নেই। ইউজার ইন্টারফেস ৫০ এমবি এর বড় ব্লব এর জন্য অনুমতি প্রার্থনা করবে এবং এই সাইজ কোটা dom.indexedDB.warningQuota অগ্রাধিকার হতে পরিবর্তন করা যেতে পারে।  (যা সংজ্ঞায়িত আছে  http://mxr.mozilla.org/mozilla-central/source/modules/libpref/src/init/all.js)

  • গুগল ক্রোম: দেখুন  https://developers.google.com/chrome...rage#temporary

উদাহারণ

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

Browser compatibility

{{ CompatibilityTable() }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Asynchronous API

11.0 {{ property_prefix("webkit") }}
24

{{ CompatGeckoDesktop("2.0") }} {{ property_prefix("moz") }}
{{ CompatGeckoDesktop("16.0") }}
10 17 {{ CompatNo() }}
Synchronous API
(used with WebWorkers)
{{ CompatNo() }} {{ CompatNo() }}
See {{ bug(701634) }}
{{ CompatNo() }} {{ CompatNo() }} {{ CompatNo() }}
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Asynchronous API 4.4 {{ CompatGeckoDesktop("6.0") }} {{ property_prefix("moz") }}
{{ CompatGeckoDesktop("16.0") }}
10 17 {{ CompatNo() }}

Note: Some browsers don't yet support IndexedDB but do support WebSQL, most notably Safari/Webkit on desktop and iOS. One way around this problem is to use an IndexedDB Polyfill or Shim that falls back to WebSQL for non-supporting browsers.

See also

Revision Source

<div class="summary">
 <p>&nbsp;ইনডেক্সডডিবি (IndexedDB) ক্লায়েন্ট-সাইড স্টোরেজ এর জন্য একটি এপিআই যা গুরুত্বপূর্ণ পরিমান গাঠনিক ডাটা জমা রাখে এবং যা ইনডেক্স এর সাহায্যে উক্ত ডাটার উপর উচ্চ কর্মক্ষমতাসম্পন্ন&nbsp; অনুসন্ধান চালাতে পারে।যেখানে <a href="/bn-BD/docs/DOM/Storage" title="en-US/docs/DOM/Storage">ডোম স্টোরেজ&nbsp;</a> উপকারী ক্ষুদ্র পরিমান ডাটা জমা রাখার জন্য, এটি কম উপকারী বড় আকারের গাঠনিক ডাটা জমা করার জন্য, সেক্ষেত্রে ইনডেক্সডডিবি(indexedDB) একটি সমাধান প্রদান করে।</p>
</div>
<p>এই পেজটি এপিআই অবজেক্টসমূহের টেকনিক্যাল বিবরণগুলোর&nbsp; প্রবেশপথ হিসেবে কাজ করে। যদি আপনার প্রাথমিক বই এর দরকার হয় তবে আপনার&nbsp; <a href="/bn-BD/docs/IndexedDB/Basic_Concepts_Behind_IndexedDB" title="/en-US/docs/IndexedDB/Basic_Concepts_Behind_IndexedDB">ইনডেক্সডডিবির প্রাথমিক ধারণা&nbsp; </a>দেখা উচিত। আরও বিস্তারিতের জন্য দেখুন&nbsp; <a href="https://developer.mozilla.org/bn-BD/docs/IndexedDB/Using_IndexedDB" title="https://developer.mozilla.org/en-US/docs/IndexedDB/Using_IndexedDB">ইনডেক্সডডিবির ব্যবহার</a> ।</p>
<p>ইনডেক্সডডিবি(IndexedDB)&nbsp; সিনক্রোনাস এবং এসিনক্রোনাস এক্সেস এর জন্য পৃথক এপিআই প্রদান করে। সিনক্রোনাস এপিআই কেবল <a href="/bn-BD/docs/DOM/Worker" title="Worker">ওয়েব ওয়ার্কার&nbsp;</a>&nbsp; এর ভিতরে ব্যবহারের জন্য কিন্তু এটি এখনও কোন ব্রাউজারে বাস্তবায়ন করা হয়নি। এসিনক্রোনাস এপিআই ওয়েবওয়ার্কার এর ভিতরে ও বাইরে উভয় জায়গাতে কাজ করে,কিন্তু ফায়ারফক্সে এখনও বাস্তবায়ন হয়নি।</p>
<h2 id=".E0.A6.8F.E0.A6.B8.E0.A6.BF.E0.A6.A8.E0.A6.95.E0.A7.8D.E0.A6.B0.E0.A7.8B.E0.A6.A8.E0.A6.BE.E0.A6.B8_.E0.A6.8F.E0.A6.AA.E0.A6.BF.E0.A6.86.E0.A6.87">এসিনক্রোনাস এপিআই</h2>
<p>এসিনক্রোনাস এপিআই মেথড কলিং থ্রেডকে ব্লক না করে তা রিটার্ন করে। একটি&nbsp; ডাটাবেজ এ এসিনক্রোনাস প্রবেশাধিকার নেওয়ার জন্য ,একটি &nbsp;<a href="/en-US/docs/Web/API/IDBFactory.open"><code> </code></a><code><a href="/en-US/docs/DOM/window" title="en-US/docs/DOM/window">window</a> অবজেক্টের&nbsp;&nbsp; <a href="/en-US/docs/Web/API/IDBEnvironment.indexedDB"><code>indexedDB</code></a> এট্রিবিউট এর&nbsp; <a href="https://developer.mozilla.org/en-US/docs/Web/API/IDBFactory.open">open()</a></code> কল করুন। এই মেথড একটি&nbsp; {{domxref("IDBRequest")}} অবজেক্ট রিটার্ন করে ;এসিনক্রোনাস অপারেশনগুলো&nbsp; এপ্লিকেশন এর সাথে যোগাযোগ করে {{domxref("IDBRequest")}} অবজেক্টগুলোর ইভেন্ট চালুর মাধ্যমে।</p>
<div class="note">
 <p>নোট:&nbsp;&nbsp; <code>indexedDB</code> অবজেক্ট পুরাতন ব্রাউজার ভার্সনগুলোতে পূর্বনির্ধারিত (property <code>mozIndexedDB</code>&nbsp; Gecko &lt; 16 এ , <code>webkitIndexedDB</code>&nbsp; Chrome এ, এবং&nbsp; <code>msIndexedDB</code>&nbsp; IE 10 ে).</p>
</div>
<p>এসিনক্রোনাস ইনডেক্সডডিবি (IndexedDB) এপিআই এর ইন্টারফেসগুলো নিচের ন্যায়:</p>
<dl>
 <dt>
  {{domxref("IDBFactory")}}</dt>
 <dd>
  ডাটাবেজে প্রবেশাধিকার প্রদান করে। গ্লোবাল অবজেক্ট&nbsp; <a href="/en-US/docs/Web/API/IDBEnvironment.indexedDB"><code>indexedDB</code></a> এই ইন্টারফেসটি বাস্তবায়ন করছে এবং এই এপিআই এর জন্য এটি প্রবেশমুখ।</dd>
 <dt>
  {{domxref("IDBCursor")}}</dt>
 <dd>
  অবজেক্ট স্টোরসমূহ এবং ইনডেক্সসমূহের উপর বারবার ইটারেট করে।</dd>
 <dt>
  {{domxref("IDBCursorWithValue")}}</dt>
 <dd>
  অবজেক্ট স্টোরসমূহ এবং ইনডেক্সসমূহ বারবার ইটারেট করে এবং কার্সর এর বর্তমান মান রিটার্ন করে।</dd>
 <dt>
  {{domxref("IDBDatabase")}}</dt>
 <dd>
  ডাটাবেজের একটি সংযোগ বুঝায়। এটি একমাত্র রাস্তা যা দিয়ে ডাটাবেজে লেনদেন সম্ভব।</dd>
 <dt>
  {{domxref("IDBEnvironment")}}</dt>
 <dd>
  একটি ক্লায়েন্ট-সাইড ডাটাবেজে প্রবেশাধিকার প্রদান করে। এটি {{ domxref("window") }} এবং{{ domxref("worker") }} অবজেক্টসমূহদ্বারা বাস্তবায়িত হচ্ছে।</dd>
 <dt>
  {{domxref("IDBIndex")}}</dt>
 <dd>
  একটি ইনডেক্স এর মেটাডাটাতে প্রবেশাধিকার প্রদান করে।</dd>
 <dt>
  {{domxref("IDBKeyRange")}}</dt>
 <dd>
  কীসমূহের একটি সীমা সংজ্ঞায়িত করে।</dd>
 <dt>
  {{domxref("IDBObjectStore")}}</dt>
 <dd>
  একটি অবজেক্ট স্টোরকে প্রতিনিধিত্ব করে।</dd>
 <dt>
  {{domxref("IDBOpenDBRequest")}}</dt>
 <dd>
  একটি ডাটাবেজ খোলার অনুরোধকে প্রতিনিধিত্ব করে।</dd>
 <dt>
  {{domxref("IDBRequest")}}</dt>
 <dd>
  ডাটাবেজ এবং ডাটাবেজ অবজেক্টসমূহে এসিনক্রোনাস অনুরোধগুলোর ফলাফলে প্রবেশাধিকার প্রদান করে। এটি হল যেটি আপনি এসিনক্রোনাস মেথডকে কল করার ফলে পান।</dd>
 <dt>
  {{domxref("IDBTransaction")}}</dt>
 <dd>
  একটি ডাটাবেজ ট্রানসেকশনকে প্রতিনিধিত্ব করে। আপনি একটি ডাটাবেজে ট্রানসেকশন তৈরী করেন,স্কোপটি বলে দিলে(যেমন কোন অবজেক্ট স্টোরগুলোতে আপনি প্রবেশাধিকার চাচ্ছেন) এবং কি ধরণের প্রবেশাধিকার চাচ্ছেন( কেবলমাত্র পাঠ নাকি লেখাসহ)।</dd>
</dl>
<ul>
</ul>
<p>স্পেসিফেকেশন এর একটি প্রাথমিক ভার্সনে এই মুছে ফেলা ইন্টারফেসগুলো সংজ্ঞায়িত ছিল। কিন্তু এগুলো এখনো নথিবদ্ধ করে রাখা হয়েছে যাতে আপনার পূর্বে লেখা কোন কোড পরিবর্তনের প্রয়োজন হয়।</p>
<dl>
 <dt>
  {{domxref("IDBVersionChangeRequest")}}</dt>
 <dd>
  একটি ডাটাবেজের ভার্সন পরিবর্তনের অনুরোধকে প্রতিনিধিত্ব কওরে। ডাটাবেজের ভার্সন পরিবর্তনের উপায় সম্প্রতি বদলানো হয়েছে ({{domxref("IDBFactory.open")}} কে কল করে এবং {{domxref("IDBDatabase.setVersion")}}কে কল না করে), এবং {{domxref("IDBOpenDBRequest")}} ইন্টারফেসটি এখন মুছে ফেলা {{domxref("IDBVersionChangeRequest")}} এর কাজ করতে পারে।</dd>
 <dt>
  {{domxref("IDBDatabaseException")}}&nbsp; {{ obsolete_inline() }}</dt>
 <dd>
  ডাটাবেজ অপারেশন এর সময় প্রাপ্ত এক্সসেপশন শর্তগুলোকে প্রতিনিধিত্ব করে।</dd>
</dl>
<ul>
</ul>
<div class="note">
 <p><strong>নোট:&nbsp;</strong> এই&nbsp;<a href="/en-US/docs/IndexedDB/Syncronous_API" title="/en-US/docs/IndexedDB/SyncronousAPI"> এপিআই এর একটি সিনক্রোনাস ভার্সন&nbsp;</a>&nbsp; আছে,যা&nbsp; কোন ব্রাউজার এখনও বাস্তবায়িত হয়নি। এটি&nbsp; কোন ব্রাউজারে এখনও বাস্তবায়িত হয় নি। এটি&nbsp; <a href="/en-US/docs/DOM/Using_web_workers" title="https://developer.mozilla.org/en-US/docs/Using_web_workers">ওয়েব ওয়ার্কার&nbsp; </a>এর সাথে ব্যবহারের জন্য তৈরী।</p>
</div>
<h2 id="Storage_limits">&nbsp;স্টোরেজ সীমা</h2>
<p>একক ডাটাবেজ এর আইটেম সাইজ এর কোন সীমা নেই। কিন্তু ইনডেক্সডডিবি (IndexedDB) ডাটাবেজ সাইজ এর একটি সীমা থাকতে পারে। এই সীমা(এবং কিভাবে ইউজার ইন্টারফেস তা ব্যবহার করবে) তা এক ব্রাউজার ও অন্য ব্রাউজার এ ভিন্ন হতে পারে।</p>
<ul>
 <li>
  <p>ফায়ারফক্স: ইনডেক্সডডিবি ডাটাবেজ সাইজের কোন সীমা নেই। ইউজার ইন্টারফেস ৫০ এমবি এর বড় ব্লব এর জন্য অনুমতি প্রার্থনা করবে এবং এই সাইজ কোটা <code>dom.indexedDB.warningQuota</code> অগ্রাধিকার হতে পরিবর্তন করা যেতে পারে।&nbsp; (যা সংজ্ঞায়িত আছে&nbsp; <a href="http://mxr.mozilla.org/mozilla-central/source/modules/libpref/src/init/all.js" title="http://mxr.mozilla.org/mozilla-central/source/modules/libpref/src/init/all.js">http://mxr.mozilla.org/mozilla-central/source/modules/libpref/src/init/all.js</a>)</p>
 </li>
 <li>
  <p>গুগল ক্রোম: দেখুন&nbsp; <a class="link-https" href="https://developers.google.com/chrome/whitepapers/storage#temporary" rel="freelink">https://developers.google.com/chrome...rage#temporary</a></p>
 </li>
</ul>
<h2 id="Example" name="Example">উদাহারণ</h2>
<ul>
 <li>মার্কো ক্যাস্টেলুচিও একটি শক্তিশালী উদাহারণ প্রদান করেছে কিভাবে ওয়েব এ ইনডেক্সডডিবি ব্যবহার সম্ভব , উল্লেখ্য তিনি ইনডেক্সডডিবি মজিলা ডেভ ডার্বি এর বিজয়ী ছিলেন। বিজয়ী ডেমোটি ছিল <a href="/en-US/demos/detail/elibri" title="https://developer.mozilla.org/en-US/demos/detail/elibri">ইলিব্রি</a>, একটি লাইব্রেরী এবং ইবুক রিডার এপ্লিকেশন।</li>
 <li>আপনি এছাড়াও রেফারেন্স ডক এর রেফারেন্স এপ্লিকেশনটি দেখতে পারেন : <a class="external" href="https://github.com/chrisdavidmills/to-do-notifications/tree/gh-pages">টু-ডু নটিফিকেশন&nbsp;</a> (<a class="external" href="http://chrisdavidmills.github.io/to-do-notifications/">সরাসরি উদাহারণ দেখুন </a>)। সমস্ত কোড অংশগুলো এই উদাহারণে আসে নি, কিন্তু প্রতিটি উদাহারণ একই ডাটা স্ট্রাকচার ও সিনট্যাক্স ব্যবহার করছে এবং এই এপ্লিকেশন এর প্রেক্ষাপটে তা যথাযথ।</li>
</ul>
<h2 id="Browser_compatibility" name="Browser_compatibility">Browser compatibility</h2>
<p>{{ CompatibilityTable() }}</p>
<div id="compat-desktop">
 <table class="compat-table">
  <tbody>
   <tr>
    <th>Feature</th>
    <th>Chrome</th>
    <th>Firefox (Gecko)</th>
    <th>Internet Explorer</th>
    <th>Opera</th>
    <th>Safari (WebKit)</th>
   </tr>
   <tr>
    <td>Asynchronous API</td>
    <td>
     <p>11.0 {{ property_prefix("webkit") }}<br />
      24</p>
    </td>
    <td>{{ CompatGeckoDesktop("2.0") }} {{ property_prefix("moz") }}<br />
     {{ CompatGeckoDesktop("16.0") }}</td>
    <td>10</td>
    <td>17</td>
    <td>{{ CompatNo() }}</td>
   </tr>
   <tr>
    <td>Synchronous API<br />
     (used with <a href="/en-US/docs/DOM/Using_web_workers" title="https://developer.mozilla.org/en-US/docs/Using_web_workers">WebWorkers</a>)</td>
    <td>{{ CompatNo() }}</td>
    <td>{{ CompatNo() }}<br />
     See {{ bug(701634) }}</td>
    <td>{{ CompatNo() }}</td>
    <td>{{ CompatNo() }}</td>
    <td>{{ CompatNo() }}</td>
   </tr>
  </tbody>
 </table>
</div>
<div id="compat-mobile">
 <table class="compat-table">
  <tbody>
   <tr>
    <th>Feature</th>
    <th>Android</th>
    <th>Firefox Mobile (Gecko)</th>
    <th>IE Phone</th>
    <th>Opera Mobile</th>
    <th>Safari Mobile</th>
   </tr>
   <tr>
    <td>Asynchronous API</td>
    <td>4.4</td>
    <td>{{ CompatGeckoDesktop("6.0") }} {{ property_prefix("moz") }}<br />
     {{ CompatGeckoDesktop("16.0") }}</td>
    <td>10</td>
    <td>17</td>
    <td>{{ CompatNo() }}</td>
   </tr>
  </tbody>
 </table>
</div>
<div class="note">
 <p>Note: Some browsers don't yet support IndexedDB but <a href="http://caniuse.com/sql-storage" title="http://caniuse.com/sql-storage">do support WebSQL</a>, most notably Safari/Webkit on desktop and iOS. One way around this problem is to use an <a href="https://github.com/axemclion/IndexedDBShim" title="https://github.com/axemclion/IndexedDBShim">IndexedDB Polyfill or Shim</a> that falls back to WebSQL for non-supporting browsers.</p>
</div>
<h2 id="See_also">See also</h2>
<ul>
 <li><a href="/en-US/docs/IndexedDB/Basic_Concepts_Behind_IndexedDB" title="en-US/docs/IndexedDB/Basic Concepts Behind IndexedDB">Basic Concepts About IndexedDB</a></li>
 <li><a href="/en-US/docs/IndexedDB/Using_IndexedDB" title="en-US/docs/IndexedDB/IndexedDB primer">Using IndexedDB</a></li>
 <li><a class="external" href="http://hacks.mozilla.org/2012/02/storing-images-and-files-in-indexeddb/" title="http://hacks.mozilla.org/2012/02/storing-images-and-files-in-indexeddb/">Storing images and files in IndexedDB</a></li>
 <li><a class="external" href="http://www.w3.org/TR/IndexedDB/" title="http://www.w3.org/TR/IndexedDB/">Indexed Database API specification </a></li>
 <li><a class="external" href="http://msdn.microsoft.com/en-us/scriptjunkie/gg679063.aspx" title="http://msdn.microsoft.com/en-us/scriptjunkie/gg679063.aspx">IndexedDB — The Store in Your Browser</a></li>
 <li><a class="external" href="http://nparashuram.com/IndexedDB/trialtool/index.html" title="http://nparashuram.com/IndexedDB/trialtool/index.html">IndexedDB Examples</a></li>
 <li><a href="https://github.com/axemclion/IndexedDBShim" title="https://github.com/axemclion/IndexedDBShim">IndexedDB Polyfill/Shim</a> for browsers that only support WebSQL (e.g. mobile WebKit)</li>
 <li><a href="http://nparashuram.com/IndexedDBShim/" title="http://nparashuram.com/IndexedDBShim/">JQuery IndexedDB plugin</a></li>
</ul>
Revert to this revision