测试 浏览器localStory的最大存储大小

236 阅读1分钟
			 * 测试 浏览器localStory的最大存储值
			 * 返回单位:byte
			 * */
			let getMaxSize = function() {
				let nums = {
					min: 4 * 1024 * 1024,
					max: 6 * 1024 * 1024,
				}

				let low = nums.min
				let high = nums.max
				let storageName = 'test1'
				let stime = new Date()
				document.write('<br/>min:' + low)
				document.write('<br/>max:' + high)
				let i = 0
				while (low <= high) {
					i++;
					let mid = Math.floor((low + high) / 2)
					let isError = false
					try {
						localStorage.setItem(storageName, new Array(mid))
					} catch (e) {
						console.log('存储出错了,', e);
						isError = true
					}
					if (isError)
						high = mid - 1
					else {
						low = mid + 1
					}
				}
				document.write('<br/>验证次数:' + i)
				document.write('<br/>耗时(毫秒):', parseInt(new Date() - stime))

				localStorage.removeItem(storageName)
				return low - 1
			}

			let maxSize = getMaxSize()
			document.write(`<br/>最大:${maxSize } byte`)
			document.write(`<br/>最大:${Math.ceil(maxSize / 1024)} kb`)