Я разрабатываю расширение в Chrome 4 (в настоящее время 4.0.249.0), которое покажет репутацию пользователя StackOverflow/SuperUser/ServerFault в строке состояния. Я разработал страницу параметров, чтобы получить идентификаторы профиля пользователя, и я сохраняю их на localStorage и хорошо их читаю в расширении. Все отлично работает.
Проблема в том, что я не могу найти (программный) способ обновить расширение при сохранении опций. Я попытался позвонить location.reload();
с самой страницы расширения, щелкнув правой кнопкой мыши - безрезультатно. Я продолжил его и попытался посмотреть, что делает страница Chrome chrome://extensions/
, чтобы перезагрузить расширение и нашел этот код:
/**
* Handles a 'reload' button getting clicked.
*/
function handleReloadExtension(node) {
// Tell the C++ ExtensionDOMHandler to reload the extension.
chrome.send('reload', [node.extensionId]);
}
Копирование этого кода в обработчик событий не помогло (и да, я попытался заменить [node.extensionId]
на фактический код). Может кто-то, пожалуйста, помогите мне сделать это правильно, или указывая на код расширения, который делает это правильно? Сделав это, я добавлю расширение и его источник в свой блог.