Как сохранить значение (хранящееся в переменной сервера PHP) в расширении, сделанном в кроссрайдере, когда оно устанавливается в браузер

Есть ли способ сохранить значение (хранящееся в переменной сервера) в расширении, сделанном в кроссрайдере, пока пользователь устанавливает расширение в свой браузер? Это что-то, когда пользователь начинает установку надстройки браузера!!

Скажем, что-то вроде: я сделал расширение для браузера, и отображаю ссылку для загрузки и установки расширения на моем сайте. Теперь мне нужно сохранить значение, взятое из php, и сохранить его локально где-то в расширении, которое пользователь не может удалить, если не удалит само расширение.

1 ответ

Вы можете сделать это из расширения, если переменная сервера может быть выбрана с помощью URL (например, создайте страницу php, которая просто возвращает значение переменной сервера).

ШАГ 1


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

Примечание: я рекомендую реализовать этот шаг в вашем background.js файл, чтобы он выполнялся ТОЛЬКО один раз при первом запуске расширения.

Метод 1 [Ответ не требует обработки]: используйте метод appAPI.db.setFromRemote() для извлечения и сохранения значения.

var serverVar = appAPI.db.get('serverVar');
if (!serverVar) {
    appAPI.db.setFromRemote(
        "<URL>", // URL to fetch the server variable
        'serverVar' // Name of key to use for saving the value
    );
}

Метод 2 [Ответ требует обработки]: используйте метод appAPI.request.get() для извлечения значения, обработки ответа, а затем используйте метод appAPI.db.set() [Для получения дополнительной информации см. Http://docs.crossrider.com/#!/api/appAPI.db-method-set], чтобы сохранить значение:

var serverVar = appAPI.db.get('serverVar');
if (!serverVar) {
    appAPI.request.get(
        "<URL>", // URL to fetch the server variable
        function(response, headers) { // onSuccess callback function
            // process the reponse as required
            // e.g. trim leading and trailing spaces
            var myProcessedData = response.replace(/^\s\s*/, '').replace(/\s\s*$/, '');

            // save data to local db
            appAPI.db.set('serverVar', myProcessedData);
    });
}

ШАГ 2


После сохранения серверной переменной в локальной базе данных ее можно получить из фоновой области расширения или области страницы с помощью метода appAPI.db.get() [Для получения дополнительной информации см. Http://docs.crossrider.com/#!/api/appAPI.db-method-get], следующим образом:

var serverVar = appAPI.db.get("serverVar");
Другие вопросы по тегам