1

我正在研究前端开发,我正在尝试制作一个社交网络网页,以使用 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 或使用数据库?

为什么浏览器不支持本地存储?

感谢小伙伴们的关注!

4

0 回答 0