firefox sandbox iframe posizione che cambia quando non dovrebbe

Quando si utilizza iframe html5 sandbox, voglio che l'iframe non sia in grado di modificare la sua posizione:

<iframe sandbox="allow-forms allow-popups allow-pointer-lock allow-same-origin allow-scripts" class="iframe visible" src="thesource.html" width="100%" scrolling="auto" frameborder="0"></iframe> 

Funziona molto bene in Chrome ma in Firefox un iframe sandboxed può ancora redirect.

è un bug noto ma come posso patcharlo in modo che tutti gli utenti di Firefox non verranno reindirizzati?

Esempio:

Una con restrizioni extra:

 <iframe src="demo_iframe_sandbox.htm" sandbox=""></iframe> 

l'attributo sandbox è supportto in Internet Explorer 10, Firefox, Chrome e Safari.

Nota: l'attributo sandbox non è supportto in Internet Explorer 9 e nelle versioni precedenti o in Opera.

Definizione e utilizzo

Se specificato come una string vuota (sandbox = ""), l'attributo sandbox abilita un insieme di restrizioni supplementari per il contenuto del frame inline.

Il valore dell'attributo sandbox può essere una string vuota (tutte le restrizioni sono applicate) o un elenco separato di spazi di valori predefiniti che RIMUOVERE determinate restrizioni.

Differenze tra HTML 4.01 e HTML5

L'attributo sandbox è nuovo in HTML5.

Sintassi

 <iframe sandbox="value"> 

Valori attributo

  1. "" => Applica tutte le limitazioni di seguito
  2. allow-same-origine => Consente di trattare il contenuto iframe come di origine del documento contenente
  3. allow-top-navigation => Consente al contenuto iframe di navigare (caricamento) dal contenuto del documento
  4. allow-forms => Consente la presentazione di moduli
  5. allow-scripts => Consente l'esecuzione di script

javascript: è un genere di protocollo URI strano. Funziona in alcuni contesti come, ma non tutti, ad esempio, la posizione di una window non può essere impostata su tale URI. (Mentre è ansible assegnare un javascript: URI a window.location come un modo veramente rotatorio di eseguire uno script, la posizione della window non resterà impostata su quel valore.)

Per scrivere contenuti in un IFRAME, get un riferimento al documento della struttura e scrivere a esso. In questo modo sarà necessario impostare la barra di sandbox di permesso di identity framework; di origine.

 <iframe id="myframe" sandbox="allow-scripts allow-same-origin" src="about:blank"></iframe> 

 <script> var frame = document.getElementById("myframe"); var fdoc = frame.contentDocument; fdoc.write("Hello world"); // or whatever </script> 

Live esempio: http://jsfiddle.net/wUvrF/1/