5

Sto scrivendo il codice per il componente aggiuntivo del browser Firefox e sto cercando di aggiornare il valore dei cookie utilizzando l'API chrome. Durante la chiamata al metodo chrome.cookies.set, restituisce il seguente errore sulla console.Eccezione non rilevata: sconosciuto (impossibile convertire in stringa)

Errore: eccezione non identificata: sconosciuto (non in grado di convertire in stringa)

var finalCookieObj = { 
    domain: ".qa.soul.com", 
    name: "aaa", 
    value: "as", 
    path: "/", 
    httpOnly: false, 
    url: "qa.soul.com/", 
    expirationDate: 1459788960 
}; 

chrome.cookies.set(finalCookieObj, function(cookie) { 
    console.log('added cookie'); 
}); 

riferimento API: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/cookies/set

+1

Si prega di condividere il valore di 'finalCookieObj', poiché è molto probabile che uno dei campi in questo oggetto abbia un problema. – dovetalk

+0

Oggetto {dominio: ".qa.soul.com", nome: "aaa", valore: "come", percorso: "/", httpSolo: falso, url: "http://www.qa.soul.com/page1 ", expirationDate: 1459788960} – sfbayman

+0

Che cosa è' chrome' in questo esempio? Ti chiedo solo perché dici che lo stai usando per un addon FF? – Andy

risposta

2

Credo che il problema è che url deve essere un URL completo , incluso il protocollo. Questa versione funziona:

var finalCookieObj = { 
    domain: ".qa.soul.com", 
    name: "aaa", 
    value: "as", 
    path: "/", 
    httpOnly: false, 
    url: "https://qa.soul.com/", 
    expirationDate: 1459788960 
}; 

chrome.cookies.set(finalCookieObj, function(cookie) { 
    console.log('added cookie'); 
}); 

aggiornerò i documenti per essere espliciti al riguardo.

Inoltre, le funzioni asincrone riportano errori impostando chrome.runtime.lastError: è sempre una buona idea controllarlo nella richiamata.

È divertente, tuttavia, vedo diverse console in uscita. Vedo un errore come questo:

[Exception... "Component returned failure code: 0x804b000a 
(NS_ERROR_MALFORMED_URI) [nsIIOService.newURI]" nsresult: 
"0x804b000a (NS_ERROR_MALFORMED_URI)" location: "JS frame 
:: resource://gre/modules/NetUtil.jsm :: NetUtil_newURI :: 
line 191" data: no] 

... che include uno stack di chiamate contenente NetUtil_newURI(), che è stato sufficiente per puntare alla url come il problema. Quale console stai guardando?

+0

Grazie a @wbamberg per la risposta. Ho preso la versione notte di Firefox build 48 e funziona bene senza modifiche al codice. Ma non sta funzionando nella versione di rilascio di produzione 45. Sarà presto riparato nella versione attuale? Mi riferivo alla console web di Firefox. – sfbayman

+0

Ricevo ancora un errore dopo aver aggiornato il valore dell'URL con l'URL completo incluso il protocollo. Si prega di controllare lo screenshot. https://www.dropbox.com/s/a96g66bj73uno8d/Screenshot%202016-04-10%2017.48.59.png?dl=0 – sfbayman

+0

Output della console Web di Firefox: screenshot: https://www.dropbox.com/ s/tt2hgglic56kq8c/Screenshot% 202016-04-10% 2018.23.42.png? dl = 0 – sfbayman

Problemi correlati