У меня странная проблема, связанная с реализацией сочетаний клавиш Chrome API в разрабатываемом расширении Chrome. Короче говоря, я должен нажать назначенное сочетание клавиш 2 раза, чтобы изменить сохраненное значение.
Вот мой слушатель сочетания клавиш:
chrome.commands.onCommand.addListener(function(command) {
chrome.storage.sync.get([command], function(result) {
toggle = result[command];
});
toggle = toggle_value(toggle)
chrome.storage.sync.set({[command]: toggle }, function() {
console.log( {[command]: toggle} );
});
});
И моя toggle_value()
функция:
function toggle_value(value) {
if(value == 0) {
return 1;
} else if(value == 1) {
return 0;
}
}
Мой слушатель сочетания клавиш получает command
, как установлено в манифесте, получает соответствующее значение с тем же именем ключа из базы данных Chrome Sync Storage , переключает значение, а затем устанавливает его обратно в Хромированное хранилище с тем же именем ключа.
Как указывалось ранее, значение клавиши command
действительно переключается только после двухкратного нажатия сочетания клавиш. Я потратил часы на отладку безуспешно, пожалуйста, помогите мне.