Si abro una ventana emergente:
var newWin = window.open('preview.html', 'preview', ...);
¿por qué no puedo dar un valor al "body" de esa ventana?
newWin.document.body.innerHTML = ...;
:-( A ver si alguien me echa un cable
Un saludo
Rodrigo
quizas es una violacion de seguridad, hacerlo asi... , aunque quizas
puedes acceder utilizando "top."
a mi este ejemplito me funciona:
<HTML>
<BODY>
<script language="javascript">
function Replace()
{
var cuerpazo = top.cozas.document.body.innerHTML;
top.cozas.document.open("text/html","replace");
top.cozas.document.writeln( cuerpazo + "...is gone (document.open)");
top.cozas.document.close();
}
function Workaround2()
{
var cuerpazo = top.cozas.document.body.innerHTML;
top.cozas.document.body.innerHTML= cuerpazo + "...is gone";
}
</script>
<button onclick= "Replace()">document.open(.., "replace")</button>
<button onclick= "Workaround2()">innerHTML workaround</button>
<iframe name="cozas" id="cozas" src="data:text/html,I AM POWONZOR,
KING OF KINGS!"></iframe>
</BODY>
</HTML>
Esto es un ejemplo adaptado de esta pagina:
http://support.microsoft.com/?scid=kb%3Ben-us%3B318382&x=3&y=13
Tei escribió:
> 2008/8/28 Rodrigo Álvarez Virgós <rodri....@gmail.com>:
>
>> Hola, JS-Ovillo
>>
>> Si abro una ventana emergente:
>> var newWin = window.open('preview.html', 'preview', ...);
>>
>> ¿por qué no puedo dar un valor al "body" de esa ventana?
>> newWin.document.body.innerHTML = ...;
>>
>>
>
> quizas es una violacion de seguridad, hacerlo asi... ,
Creo que efectivamente es así, porque:
window.setTimeout(function(){newWin.document.body.innerHTML = ...;}, 250);
me ha funcionado.
> aunque quizas
> puedes acceder utilizando "top."
>
> a mi este ejemplito me funciona:
>
> <HTML>
> <BODY>
> <script language="javascript">
> function Replace()
> {
> var cuerpazo = top.cozas.document.body.innerHTML;
> top.cozas.document.open("text/html","replace");
> top.cozas.document.writeln( cuerpazo + "...is gone (document.open)");
> top.cozas.document.close();
> }
>
>
> function Workaround2()
> {
> var cuerpazo = top.cozas.document.body.innerHTML;
> top.cozas.document.body.innerHTML= cuerpazo + "...is gone";
> }
> </script>
>
> <button onclick= "Replace()">document.open(.., "replace")</button>
> <button onclick= "Workaround2()">innerHTML workaround</button>
>
> <iframe name="cozas" id="cozas" src="data:text/html,I AM POWONZOR,
> KING OF KINGS!"></iframe>
> </BODY>
> </HTML>
>
>
>
¡Gracias!