如何查看chrome.storage的总内容?

时间:2013-02-14 01:05:24

标签: api google-chrome google-chrome-extension storage

在chrome developer工具中,您可以在javascript控制台中的不同上下文之间切换,并单独查询chrome.storage.local.get()chrome.storage.sync.get() API。有没有办法查看存储在那里的所有chrome的全部内容?

2 个答案:

答案 0 :(得分:0)

如果你看一下API的源代码

bool StorageGetFunction::RunWithStorage(ValueStore* storage) {
  Value* input = NULL;
  EXTENSION_FUNCTION_VALIDATE(args_->Get(0, &input));

  switch (input->GetType()) {
    case Value::TYPE_NULL:
      return UseReadResult(storage->Get());

    case Value::TYPE_STRING: {
      std::string as_string;
      input->GetAsString(&as_string);
      return UseReadResult(storage->Get(as_string));
    }

    case Value::TYPE_LIST: {
      std::vector<std::string> as_string_list;
      AddAllStringValues(*static_cast<ListValue*>(input), &as_string_list);
      return UseReadResult(storage->Get(as_string_list));
    }

    case Value::TYPE_DICTIONARY: {
      DictionaryValue* as_dict = static_cast<DictionaryValue*>(input);
      ValueStore::ReadResult result = storage->Get(GetKeys(*as_dict));
      if (result->HasError()) {
        return UseReadResult(result.Pass());
      }

      DictionaryValue* with_default_values = as_dict->DeepCopy();
      with_default_values->MergeDictionary(result->settings().get());
      return UseReadResult(
          ValueStore::MakeReadResult(with_default_values));
    }

    default:
      return UseReadResult(
          ValueStore::MakeReadResult(kUnsupportedArgumentType));
  }
}

存储类型用作查询结果的参数。因此,到目前为止,无法查看所有chrome存储的内容的总体情况,您必须使用两个不同的查询(chrome.storage.local.get()chrome.storage.sync.get() API)。

答案 1 :(得分:0)

你试过这个吗? 的console.log(chrome.storage);