13

Gli utenti del nostro sito Web eseguono il nostro plug-in Chrome che, tra le altre cose, esegue richieste di origine incrociata tramite XMLHttpRequest come descritto nello Chrome extension development pages. Questo funziona da alcuni anni. Tuttavia, da quando i nostri utenti hanno eseguito l'upgrade all'ultima versione di Chrome (v38), queste richieste non sono riuscite. Il nostro sito funziona su HTTPS e alcuni degli URL caricati tramite il nostro script di contenuto sono su HTTP. Il messaggio è:Dalla v38, l'estensione Chrome non può caricare più URL HTTP, soluzione alternativa?

[bloccato] La pagina all'indirizzo 'https://www.ourpage.com/' stato caricato su HTTPS, ma corse contenuti non protetti da 'http://www.externalpage.com': questo contenuto dovrebbe essere caricato tramite HTTPS.

La linea riferito cui si è verificato l'errore è nello script contenuti in cui sto rilascia la chiamata HTTP:

xhr.send(null); 

non ho alcun controllo sulla pagina esterna e non vorrei piuttosto rimuovere SSL da la nostra pagina. Domanda: Si tratta di un bug o c'è una soluzione di cui non sono a conoscenza?

(Nota:.. Le autorizzazioni del manifesto sono stati sempre impostati su <all_urls> che aveva lavorato per lungo tempo Impostazione a http://*/ e https://*/ non ha aiutato)

+0

Parola chiave "contenuto non protetto". Cosa fai con la risposta XHR? – Xan

risposta

10

Se possibile, utilizzare la versione https di quella esterna pagina.

Se ciò non è possibile, utilizzare la pagina di sfondo per gestire la richiesta AJAX (example).

+1

Grazie! Usando una pagina dell'evento ha funzionato. – Oliver

+0

@RobW Ho aggiunto il mio background e il file scrip.js in 'web_Accessible_resources' ancora ricevendo l'errore' mixed content'. – Volatil3

+1

@ Volatil3 Utilizzare il metodo con la pagina di sfondo. Il mio suggerimento precedente non funziona perché le restrizioni dei contenuti misti si propagano ai frame secondari. –