Pertanyaan Batas ukuran HTML5 localStorage untuk subdomain


Database localStorage HTML5 biasanya berukuran terbatas - ukuran standar adalah 5 atau 10 MB per domain. Dapatkah batas-batas ini dicegah oleh subdomain (mis. Example.com, hack1.example.com dan hack2.example.com semuanya memiliki database 5 MB mereka sendiri)? Dan apakah ada sesuatu dalam standar yang menentukan apakah domain induk dapat mengakses basis data anak-anak mereka? Saya tidak dapat menemukan apa pun, dan saya dapat melihat argumen untuk melakukannya, tetapi sepertinya harus ada model standar.


75
2018-04-30 19:55


asal


Jawaban:


Dari http://dev.w3.org/html5/webstorage/#disk-space

Sebagian besar batas acak lima megabyte per asal direkomendasikan. Umpan balik implementasi diterima dan akan digunakan untuk memperbarui saran ini di masa depan.

Itu juga menyebutkan bahwa:

Agen pengguna harus menjaga terhadap situs yang menyimpan data di bawah asal-usul   situs afiliasi lainnya, mis. menyimpan hingga batas masuk   a1.example.com, a2.example.com, a3.example.com, dll., mengelakkan   batas penyimpanan example.com utama.


53
2018-05-03 08:34



Berikut ini hasil pengujian yang cukup detail dengan banyak browser desktop dan seluler yang dicakup: http://dev-test.nemikor.com/web-storage/support-test/

Yang mengkonfirmasi laporan bug ini: http://code.google.com/p/chromium/issues/detail?id=58985#c15

Anda dapat mengandalkan hanya 2,5 MB, bukan 5 MB, berdasarkan panjang string yang dapat Anda simpan.


14
2018-01-17 13:09



Saya melewatkan pertanyaan ini ketika saya bertanya "Apakah batas 5MB de facto untuk W3C Web Storage?", tetapi pada dasarnya saya mendapat jawaban yang sama. Jika Anda menginginkan informasi lebih lanjut, saya melakukan tautan ke beberapa batasan khusus browser dalam pertanyaan saya.


9
2017-08-27 13:39



Solusi yang lebih baik adalah menggunakan [HTML5 IndexedDB untuk penyimpanan offline.]1

Sepertinya pengganti untuk Web SQL lama (yang tampaknya disalahartikan b / c itu untuk offline penyimpanan) adalah: Indexed DB, yang memungkinkan penyimpanan offline dan masih mendukung:

IndexedDB baru di HTML5. Database Web di-host dan dipertahankan   di dalam browser pengguna. Dengan mengizinkan pengembang untuk membuat aplikasi   dengan kemampuan query yang kaya itu adalah membayangkan bahwa generasi baru web   aplikasi akan muncul yang memiliki kemampuan untuk bekerja online dan    off-line.

Info lebih lanjut dan a aplikasi uji di: http://ido-green.appspot.com/WebSQL-IndexedDB-example/jqm_indexedDB.html


5
2018-05-23 13:52



Untuk mendapatkan 50MB kode penggunaan ruang penyimpanan di bawah ini

// 1. paste this line in your code
!function(){function e(t,o){return n?void(n.transaction("s").objectStore("s").get(t).onsuccess=function(e){var t=e.target.result&&e.target.result.v||null;o(t)}):void setTimeout(function(){e(t,o)},100)}var t=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;if(!t)return void console.error("indexDB not supported");var n,o={k:"",v:""},r=t.open("d2",1);r.onsuccess=function(e){n=this.result},r.onerror=function(e){console.error("indexedDB request error"),console.log(e)},r.onupgradeneeded=function(e){n=null;var t=e.target.result.createObjectStore("s",{keyPath:"k"});t.transaction.oncomplete=function(e){n=e.target.db}},window.ldb={get:e,set:function(e,t){o.k=e,o.v=t,n.transaction("s","readwrite").objectStore("s").put(o)}}}();

// 2. Setting values
ldb.set('nameGoesHere', 'value goes here');

// 3. Getting values - callback is required because the data is being retrieved asynchronously:
ldb.get('nameGoesHere', function (value) {
  console.log('And the value is', value);
});

sumber https://github.com/DVLP/localStorageDB


2
2018-05-27 15:55