Sto creando un iframe di programmazione utilizzando i "dati" URI:di programmazione si accede a un iframe che utilizza un URI di dati come fonte
<iframe id="myFrame" src='data:text/html;charset=utf-8,<!DOCTYPE html><html><head></head><body><h1>Hello.</h1></body></html>'></iframe>
Questo telaio carichi bene, ma sembra che lavorare con l'iframe di programmazione colpisce i controlli di sicurezza tra domini.
var iframeDoc = document.getElementById('myFrame').contentWindow.document;
$(iframeDoc.body).find('h1').text('Changed');
genera un errore in Chrome e Safari:
Unsafe JavaScript attempt to access frame with URL data:text/html;charset=utf-8,... from frame with URL http://... The frame requesting access has a protocol of 'http', the frame being accessed has a protocol of ''. Protocols must match.
Ecco un violino che mostra l'errore di sicurezza: http://jsfiddle.net/bhGcw/4/
Firefox e Opera non gettare questa eccezione e consentire il contenuto iframe per essere cambiato. Sembra che Webkit veda un protocollo vuoto per gli URI di dati e lo vede come una violazione tra domini.
C'è qualche modo per aggirare questo?
è questo? http://code.google.com/p/chromium/issues/detail?id=82402 è per Chromium, non per Chrome, ma forse ha lo stesso problema. inoltre ho trovato qualche problema di sicurezza per il phishing, che Chrome cerca di prevenire, potrebbe essere anche questo – llamerr
Sì, sembra decisamente correlato. Speravo che ci fosse una soluzione alternativa, ma sembra che non ci sia. –