Я работаю над расширением Chrome, и я новичок в этом процессе. Расширение, над которым я работаю, внедряет боковую панель HTML на страницу, внедряет функции java-скрипта в заголовок, а затем позволяет пользователю нажимать кнопки на боковой панели, чтобы создать/сохранить данные моего расширения.
Однако, когда я хочу сохранить информацию, я использую localStorage, однако localStorage всегда сохраняет по отношению к текущему веб-сайту. Как я могу использовать localStorage для сохранения в отношении нашего расширения?
Кроме того, я хотел бы использовать некоторые глобальные переменные javascript в расширении chrome. Где они принадлежат? Я знаю, что в настоящее время не могу получить к ним доступ из внедренного Javascript.
Я изучил передачу сообщений, и у меня были некоторые проблемы с этим. Я не уверен, как это работает в рамках внедрения javascript в заголовок страницы. Я пытался работать с этим примером, но мое расширение, похоже, не улавливает сообщение.
// This function is called in the injected header javascript.
function sendToExtension() {
setTimeout(function() {
console.log('page javascript sending message');
window.postMessage({ type: 'page_js_type',
text: "Hello from the page's javascript!"},
'*' /* targetOrigin: any */);
}, 10);
}
// This is installed in a background script.
window.addEventListener('message', function(event) {
console.log('content_script.js got message:', event);
});
chrome.storage
вместоlocalStorage
. Поскольку postMessage уже является асинхронным, у вас, вероятно, не возникнет проблем с изменением кода. - person Rob W   schedule 30.03.2013postMessage
иonmessage
. - person Rob W   schedule 31.03.2013