2011-04-30 10 views
12

que tiene un elemento HTMLconfigurar dinámicamente src marco usando Javascript

<frame src="#" title="Content Frame" name="content" id="content" /> 

Quiero establecer que está "src" dinámicamente usando JavaScript al cargar la página. Cómo puedo hacer eso ?

Estoy intentando algo así como;

document.getElementById('content2').contentWindow.location = 'xyz_frame.html'; 

Pero por alguna razón no se working..Again es un elemento y no

Un código áspera;

<html> 
<head> 
<script language="javascript"> 
function LoadPage(){ 
document.getElementById('content2').src = 'ipad_lrd_frame.html'; 
} 
</script> 
</head> 
<body onload="LoadPage()"> 
<frame id="content2"></frame> 
</body> 

</html> 
+0

No es – tenshimsm

Respuesta

19

Esto debería funcionar;

document.getElementById('content2').src = "url"; 

(también tiene identificadores no coincidentes para el marco y getElementById llamada)

Para una FRAME, se necesita un FRAMESET que impide el uso de un BODY, por lo que;

<frameset rows="50%,*" onload="LoadPage();">  
    <frame id="content2"></frame> 
    ..... 

Actualización:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> 
<html> 
<head> 
<script type="text/javascript"> 
function LoadPage(){ 
    document.getElementById('content1').src = "http://www.google.com"; 
    document.getElementById('content2').src = "http://www.bing.com"; 
} 
</script> 
<title></title> 
</head> 
<frameset rows="50%,*" onload="LoadPage();">  
    <frame src="#" id="content1">  
    <frame src="#" id="content2">     
</frameset> 
</html> 
+0

Sí, he encontrado el id ... aún no funciona ... – testndtv

+0

Tu va a tener que mostrar un caso de prueba reducido con todo el código/marcado relevante –

+0

He editado con un código aproximado anterior. – testndtv

1

yo creo que ir a buscar fotogramas por su nombre sería más adecuado:

document.getElementsByName('content2')[0].src = 'ipad_lrd_frame.html'; 

Probado con éxito. Asegúrese de que su página use un conjunto de marcos doctype y haga no incluya las etiquetas body (use etiquetas frameset en su lugar). También tenga en cuenta que el tipo de script debe ser text/javascript, en lugar del idioma "javascript".

+0

Hola ... solución genial por ti ... solo un problema ... funciona perfectamente en Firefox ... no estoy seguro de por qué no funciona en IE ... – testndtv

+0

y solo para agregar si señalo document.getElementsByName ('content') [0] .src, muestra el valor correctamente incluso en IE, es decir, la ruta completa de 'ipad_lrd_frame.html' ... Pero finalmente no muestra el contenido dentro de ipad_lrd_frame.html – testndtv

+0

Y he hecho exactamente lo has dicho; 1. Se utilizó 2. Ningún cuerpo etiqueta 3. tipo de script es texto/javascript 4. usado getElementsByName – testndtv

Cuestiones relacionadas