2012-04-19 21 views
6

Tengo un iframe y necesito capturar el atributo src dentro de una variable javascript. Así es como mi iframe pareceObtener iframe src param desde dentro del mismo iframe

<iframe id="iframe_module_46081" name="iframe_module_46081" src="//myurl.com/tabs/495/campaigns/0ed3ffa8-5050-4a18-a5e3-f348d12a1304?signature=6aa3005368f163539976460246f2f0839c0fb3e3&amp;id=678326"> 
<script>$(document).ready(function(){ 
    var name = window.name; 
    var src = ????; 
}) 
</script> 
</iframe> 

estoy en condiciones de obtener el nombre través window.name pero no el atributo src. ¿Alguna idea?

+0

'top.document.getElementsByName (window.name) [0] .src' debería hacerlo –

+1

@GGG: eso no funcionará entre dominios. – SLaks

+0

@SLaks nada funcionará en el dominio cruzado =/excepto 'document.location', obviamente, pero supuse que no funcionaba para él por alguna razón. –

Respuesta

14

Si lo permiten las comprobaciones entre dominios, intente window.frameElement.src. De lo contrario, no tiene suerte y se queda solo con location.href.

+2

+1 por 'frameElement', siempre me olvido de que existe –

+0

¿Por qué la opción' location.href' desafortunada? –

+2

Porque el iframe podría haber navegado fuera de su ubicación original –

0

probar este favor:

var src = $('#iframe_module_46081').attr('src'); 
+0

No; eso es solo para la página padre – SLaks

+0

que no he entendido su pregunta. – WolvDev

+0

Según tengo entendido, quiere obtener el atributo 'src' del iframe que contiene la ventana en la que se está ejecutando el script. –

3

Usted está buscando document.location, al igual que cualquier otro documento.
Cada cuadro tiene su propio document.

1
var src = top.document.getElementById("iframe_module_46081").src; 

Si no desea utilizar el selector jquery.

+0

Gracias a todos, pero acabo de ver que el dominio del iframe superior es diferente, así que tengo problemas de dominio cruzado. – Leon

Cuestiones relacionadas