0
var getShortenedUrl = function () {

  chrome.tabs.getSelected(null, function (tab) {

    var request_data = {
      'command': 'generate',
      'params': {
        'url': tab.url,
        'code': text_field.value
      }
    }

    chrome.extension.sendRequest(request_data, function (data) {
      switch (data.status) {
        case 'OK':
          setTextField(data.shortened_url)
          bindBtnToCoopy()
          chrome.storage.local.get(data.shortened_url, function (arr) {
            if (!arr[data.shortened_url]) {
              chrome.storage.local.set(
                {data.shortened_url:
                 tab.url}) /* <-- this thing throws an error */
            }
          })
          break
          /* ... */
      }
    })
  })
}

https://github.com/noformnocontent/git-io-chrome/blob/master/chrome/popup.js#L96を参照してください


その部分をコメントアウトするとchrome.storage.local.set、すべてが「完璧」になります

4

1 に答える 1

0

@pimvdbが述べた質問のように、オブジェクトを保存するには、オブジェクトを使用する必要があります。

if (!arr[data.shortened_url]) {
  var urlPair = {}
  urlPair[data.shortened_url] = tab.url
  chrome.storage.local.set(urlPair)
}

それ以来、「Git.ioforChrome」のv.0.5もリリースしました。詳細についてはhttp://git.io/cromeを参照してください。

于 2013-02-05T02:13:42.327 に答える