2011-05-03 774 views
17

Tengo una página que tiene un iframe. Cada vez que se carga la página, iframe obtiene una identificación única y un nombre asignado a ella. Puedo obtener el nombre de marco flotante dentro de marco flotante cargada de esta manera:Javascript: obtenga el id. De iframe dentro de la página cargada

alert(parent.window.frames[window.name].name); 

Pero cuando trato de obtener el valor id:

alert(parent.window.frames[window.name].id); 

Puedo obtener undefined?

¿Es posible obtener el atributo id del iframe dentro de la página cargada?


http://jsfiddle.net/cqFtB/


<iframe id="lyygi8stwZSANUEh" src="http://example.com" name="zma82vRVe18xbAqW" title="Awesome Iframe"> 

example.com:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Awesome Iframe</title> 
</head> 
<body> 
    <script type="text/javascript"> 
     alert(parent.window.frames[window.name].name); 
    </script> 
</body> 
</html> 

Respuesta

45

Trate window.frameElement.id en el marco flotante.

+0

Aquí hay un enlace http://jsfiddle.net/cqFtB/ – Pav

+0

El anterior muestra el siguiente error: ' ha denegado el permiso para acceder a la propiedad 'id '' – Pav

+0

Eso puede suceder si el iframe y la página que lo contiene son de orígenes diferentes. ¿Están en tu caso? –

0

tienes que insertar el nombre del marco flotante:

alert(parent.window.frames['zma82vRVe18xbAqW'].name); 
0

En el marco flotante esto está funcionando para mí. Pero sólo si el marco flotante y la participación de los padres del mismo dominio:

this.frameElement.attributes.id 
Cuestiones relacionadas