Поделиться массивом объектов между двумя страницами - PullRequest
0 голосов
/ 07 июня 2019

У меня есть массив объектов на странице, который я хочу разместить на другой странице в электронном виде.Обе страницы имеют собственный файл javascript и один файл function.js.

file1.js

const { createArray, getArray } = require ('./function')

window.onload = () => {
    createArray()
    sessionStorage.setItem("Array", getArray)
    console.log(sessionStorage.getItem("Array")   //[object Object],[object Object],[object Object]
    console.log(getArray) // [{"1": 10}, {"2": 11}, {"3": 12}]
}

По документации изЭлектронный перенос переменных с одной страницы на другую лучше всего выполнять через API HTML 5.

Но я не могу сохранить массив объектов в sessionStorage.Согласно этому посту , это совершенно нормально.Решение, используемое здесь, состоит в том, чтобы привести в соответствие.Но это довольно дорогой процесс, который я бы хотел избежать.

Кто-нибудь знает, как лучше всего распределить массив объектов между двумя страницами?

Ответы [ 2 ]

0 голосов
/ 07 июня 2019

Я думаю, что вы можете решить эту проблему, просто повторно используя getArray с другой страницы, поэтому просто импортируйте ее.

const { createArray, getArray } = require ('./function')

В противном случае вам нужно использовать JSON.stringify и JSON.parse, используя sessionStorage, например:

sessionStorage.setItem("Array", JSON.stringify(getArray));
const data = JSON.parse(sessionStorage.getItem("Array"))

Или вы можете использовать IPC, чтобы установить глобальное значение.

В качестве примечания: Используйте более описательное имя вместо «Массив» для sessionStorage

0 голосов
/ 07 июня 2019

Я бы сохранил массив в фоновом скрипте и предоставил бы его BrowserWindows с помощью API обмена сообщениями: Ссылка

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