Расширение Chrome: доступ к локальному хранилищу более одного раза в скрипте содержимого - PullRequest
0 голосов
/ 22 июля 2011

Я знаю, как получить доступ к localalstorage в скрипте контента, но только один раз. Я получаю к нему доступ через sendRequest, но когда я пытаюсь использовать этот метод в функции события, файл jvascript даже не загружается. Можно ли получить доступ к опциям много раз, например, при возникновении события onclick? Я посмотрел на веб-сайте Google Code и нашел что-то, чтобы создать связь между скриптом контента и фоном, используя chrome.extension.connect (). Мне нужно это использовать?

Спасибо!

1 Ответ

1 голос
/ 26 июля 2011

На самом деле вы можете использовать sendRequest столько раз, сколько сможете, но если вы хотите сделать это по-другому, вы можете открыть долгоживущий канал (или что Я вызываю «туннель сообщений») между скриптом контента и фоновой страницей для связи.

В вашем скрипте контента вы можете использовать
var port = chrome.extension.connect({name: "myChannel"}); открыть канал.

Тогда вы можете использовать
port.postMessage({message: "This is a message."});
отправить новое сообщение на background page.

port.onMessage.addListener(function(msg) { }) прослушивает новое сообщение.

На вашей фоновой странице ,

chrome.extension.onConnect.addListener(function(port) {
    port.onMessage.addListener(function(msg) {
        if(port=="myChannel"){
            console.log(msg+" from port "+port)        //Gives you the message
        }
    })
})

прослушивает новое сообщение в определенном порту.

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