我正在研究前端开发,我正在尝试制作一个社交网络网页,以使用 html、css、javascript、highlight.js(为标签应用不同的颜色)和 localStorage 来共享源代码以保存项目属性从代码编辑器主页,并将这些数据以卡片的形式加载到社区页面中。
好吧,为了保存项目,我在 index.js 中编写了这段代码
const btnSalvar = document.getElementById('salvarProjeto')
const tituloDoProjeto = document.getElementById('nomeDoProjeto')
const descricaoDoProjeto = document.getElementById('descricaoDoProjeto')
btnSalvar.addEventListener('click', () => {
if (typeof(storage) !== "undefined") {
console.log('suporta o localstorage')
const projeto = montaProjeto()
salvaLocalStorage(projeto)
} else {
console.log('não suporta o localstorage')
}
})
function montaProjeto() {
/*
adicionar na matriz a mudança de cor da borda
*/
let projeto = {
'id': atribuiId(),
'detalhesDoProjeto': {
'nomeDoProjeto': tituloDoProjeto.value,
'descricaoDoProjeto': descricaoDoProjeto.value,
'linguagem': linguagem.value,
'codigo': areaDoCodigo.querySelector('code').innerText
}
}
return projeto
}
let numeroId = 1
if (localStorage.length > 0) {
numeroId = localStorage.length
}
function atribuiId(){
if (localStorage.length == 0) {
return 0
} else {
if (localStorage.length == numeroId) {
let novoId = numeroId
numeroId++
return novoId
}
}
}
function salvaLocalStorage(objetoJson){
localStorage.setItem(objetoJson.id, JSON.stringfy(objetoJson))
}
当我尝试在代码编辑器页面中运行脚本时,浏览器控制台告诉我它不支持本地存储,那么替换本地存储的最佳选择是什么:缓存存储、indexedDB 或使用数据库?
为什么浏览器不支持本地存储?
感谢小伙伴们的关注!