как использовать локальное хранилище в электронном - PullRequest
0 голосов
/ 29 марта 2020

В электронном приложении я использую window.loadURL('http://example.com') для загрузки своего сайта, этот сайт использует localStorage для сохранения пользовательских данных. У меня вопрос, как использовать localStorage с Electron API?

Вот мой код:

{
      label:'test',
      click:()=>{          
        let object = mainWindow.webContents.executeJavaScript('localStorage.length');
        console.log("localstorage.length:"+JSON.stringify(object));
      }
    }

Но он напечатает localstorage.length:{}

1 Ответ

0 голосов
/ 31 марта 2020

executeJavaScript является асинхронной функцией и возвращает Обещание. Вам нужно либо использовать async/await, либо цепочку .then() для доступа к значению, возвращенному функцией.

 // inside an async function
 const object = await mainWindow.webContents.executeJavaScript('localStorage.length');
 console.log(`Localstorage length: ${object}`);

или

mainWindow.webContents.executeJavaScript('localStorage.length')
  .then(object => console.log(`Localstorage length: ${object}`));

Извлечь этот пример открывается в Электронная скрипка . Поменяйте loadFile на loadURL с вашим сайтом, и вы должны быть настроены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...