2015-10-06 120 views
0

我试图创建两个浏览器之间共享信息的Chrome扩展。 我有相同的密钥"key":"myawesomeextensionmyawesomeexten"调试运行,并tryed上传[仅可用于私人用途]网上商店,但结果是一样的 - 不能检索值两个浏​​览器之间的Chrome扩展不同步

在查看同步日志通过chrome://sync一切都很好,我得到:

{ 
 
"commit": { 
 
"cache_guid": "64YTgq9pf4aEBeuJdKjwcA==", 
 
"config_params": { 
 
"enabled_type_ids": [ 
 
"32904", 
 
"37702", 
 
"45873", 
 
"63951", 
 
"31729", 
 
"306270", 
 
"41210", 
 
"40781", 
 
"48119", 
 
"88610", 
 
"50119", 
 
"48364", 
 
"103656", 
 
"96159", 
 
"150251", 
 
"170540", 
 
"182019", 
 
"181534", 
 
"154522", 
 
"163425", 
 
"194582", 
 
"202026", 
 
"229170", 
 
"47745", 
 
"161496" 
 
], 
 
"tabs_datatype_enabled": true 
 
}, 
 
"entries": [ 
 
{ 
 
"attachment_id": [], 
 
"client_defined_unique_tag": "ZVSOWG9AJz1oMEN+CPO1LtiK3JU=", 
 
"ctime": "1444047162286", 
 
"folder": false, 
 
"id_string": "Z:ADqtAZyfnDGA95mhey4QDFcumpRWpE+p0dQA1SAFSSalHzx9zDzOq7xEoo67SMB/3YfyukM9A8/OghX4bdeWhuE+RbfdZ2JV8Q==", 
 
"mtime": "1444047162286", 
 
"name": "ARTURAS", 
 
"non_unique_name": "ARTURAS", 
 
"version": "1444138864965868" 
 
}, 
 
{ 
 
"attachment_id": [], 
 
"client_defined_unique_tag": "c5FGio5gj27CzEdOoHlwf0rfRjE=", 
 
"ctime": "1444137218436", 
 
"folder": false, 
 
"id_string": "Z:ADqtAZzdeALpaWbtNyJ+NzEwos5Sb5+A+8nvv/cEewlnQn4AJN2SUML9cQ8edt6lGfHqPE2uGbeDQdB1xvdrcqhSq93MUetZqg==", 
 
"mtime": "1444137218436", 
 
"name": "auth", 
 
"non_unique_name": "auth", 
 
"version": "1444137721670768" 
 
}, 
 
{ 
 
"attachment_id": [], 
 
"client_defined_unique_tag": "N2M+eSp0/5zaUImLY+GwoNh2lYE=", 
 
"ctime": "1444137218611", 
 
"folder": false, 
 
"id_string": "Z:ADqtAZzdeALpaWbtNyJ+NzEwos5SYxsuyBBHqHUDls7djJwslxBuU6C+W/dnREEz7coKqJtsSMi1Y6AJcle6CO1VsM7PRkG5iA==", 
 
"mtime": "1444137218611", 
 
"name": "pushed_time", 
 
"non_unique_name": "pushed_time", 
 
"version": "1444139081029437" 
 
} 
 
}

我的代码是用于发送:

chrome.tabs.query({"status":"complete","windowId":chrome.windows.WINDOW_ID_CURRENT,"active":true}, function(tab) 
 
{ 
 
    
 
     
 
         chrome.cookies.getAll({"url":tab[0].url},function (cookie) 
 
         { 
 

 
          for(i=0;i<cookie.length;i++) 
 
          { 
 
           if(
 
            cookie[i].name == "XSRF-TOKEN" || 
 
            cookie[i].name == "ttc" || 
 
            cookie[i].name == "mbox" || 
 
            cookie[i].name == "iStockSession" || 
 
            cookie[i].name == "iStockContainer_Info" || 
 
            cookie[i].name == "IS_MARIN_UUID" 
 
           ) 
 
           { 
 
            cfg[cookie[i].name] = cookie[i].value; 
 
            
 
            chrome.browserAction.setBadgeBackgroundColor({ color: [62, 143, 62, 255] }); 
 
            chrome.browserAction.setBadgeText({text: 'Host'}); 
 
           } 
 
          } 
 

 
          sync_push_data('auth', JSON.stringify(cfg)); 
 
          debug('[host] ' + ' ' + current_time() + ' [' + JSON.stringify(cfg) + '] '); 
 
         }); 
 
         save_identificator(); //save user ip to remote server 
 
    
 
} 
 
        
 
        
 
function sync_push_data(c_name, c_value) 
 
{ 
 
    if(!c_name && !c_value) 
 
    { 
 
     debug('Error: no JSON array'); 
 
    } 
 
    else 
 
    { 
 
     var save = {}; 
 
     var is_saved = ""; 
 

 

 

 
     save[c_name] = c_value; 
 
     chrome.storage.sync.set(save, function() 
 
     { 
 
      
 
      if(chrome.runtime.error) 
 
      { 
 
       debug('Runtime error. ') 
 
      } 
 
      else 
 
      { 
 
       debug('[host] ' + current_time() + ' [' + c_name + '] '); 
 
       
 

 
      } 
 
     }); 
 

 

 

 
    } 
 
} 
 

 
function save_identificator() 
 
{ 
 
    
 
} 
 

 

 
       

为获得:

     chrome.storage.sync.get(null, function(items) 
 
         { 
 
          
 
          r_cookie = JSON.parse(JSON.stringify(items)); 
 

 
          $.each(r_cookie, function(index, value) 
 
          { 
 
            
 
           if(index == "auth" && value.length > 2) 
 
           { 
 
            new_value = JSON.parse(value); 
 

 
            if(new_value['cookie1']) 
 
            { 
 
             save_cookie('cookie1', new_value['cookie1']); 
 
          
 
            }  
 

 
            if(new_value['cookie2']) 
 
            { 
 
             save_cookie('cookie2', new_value['cookie2']); 
 
             
 
            }  
 

 
            if(new_value['cookie3']) 
 
            { 
 
             save_cookie('cookie3', new_value['cookie3']); 
 
            
 
            } 
 

 
            if(new_value['cookie4']) 
 
            { 
 
             save_cookie('cookie4', new_value['cookie4']); 
 
          
 
            }  
 

 
            if(new_value['cookie5']) 
 
            { 
 
             save_cookie('cookie5', new_value['cookie5']); 
 
            
 
            } 
 

 
            if(new_value['cookie6']) 
 
            { 
 
             save_cookie('cookie6', new_value['cookie6']); 
 
           
 
            } 
 

 
            debug('[user] ' + ' ' + current_time() + ' [' + index + '] '); 
 
            chrome.browserAction.setBadgeBackgroundColor({ color: [51, 122, 183, 255] }); 
 
            chrome.browserAction.setBadgeText({text: 'User'}); 
 
           } 
 
           
 
           
 
           } 
 

 
          }); 
 
         });

+0

也许会更显然:[link](http://codeshare.io/egxwi) – Arturas

回答

0

我以不chrome.storage.sync.set但在FTP服务器保存修复了这个问题,通过AJAX

相关问题