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

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

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


person Testfname Testlname    schedule 09.11.2012    source источник


Ответы (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");
person Shlomo    schedule 11.11.2012