2011-04-19 12 views
10

cuando intento cd, la consola dice "cd no está definido"¿Cómo puedo hacer un cd en un iframe en Chrome Developer Tools o Firebug Lite en Chrome?

+0

¿qué quiere decir 'cd en un iframe'? – JohnP

+0

'cd' es un comando que se utiliza para cambiar directorios en una ventana de terminal, como la ventana que se abre al escribir' cmd' en un menú de inicio en Windows o en Terminal en una Mac o Ubuntu. Si está siguiendo algunas instrucciones para realizar un cd en un directorio, espera que esté escribiendo comandos en dicha ventana, y no funcionarán en las herramientas de desarrollo de Firebug o Chrome. Hasta ahora, usando herramientas de desarrollador para ejecutar comandos de JavaScript dentro de un iframe, aún estoy buscando esa respuesta. – undefined

+1

dice claramente, cd "le permite usar la ventana de un marco en la página en su lugar" http://getfirebug.com/wiki/index.php/Command_Line_API#cd.28window.29 – chrismarx

Respuesta

4

Sí, tienes razón Firebug tiene este increíble comando. Me gusta mucho. Está haciendo wotking con iframes mucho más fácil. Personalmente, no voy a Firefox solo porque el cd() está disponible en él porque también puedo hacer todo lo que puedo hacer con el cd en las herramientas de desarrollo de Chrome.

Simplemente use la palabra clave contentWindow en el símbolo del sistema para acceder al objeto iframewindow. Entonces serás bueno para acceder a cualquier función y variable.

Por ejemplo, tengo una variable en mi iframe que no se puede acceder a través de la consola normalmente.

Pero todavía puedo acceder a la variable a través de contentWindow así:

theIfraem.contentWindow.secret; 

enter image description here

Si desea disparar una función de hacer esto:

theIframe.contentWindow.myfunc(); 

Si desea defina algunas variables (la más difícil):

var script = document.createElement('scrept'); 
script.innerHTML = "var secret = 'hi'"; 
theIframe.contentWindow.document.body.appendChild(script); 

Esto es lo que realmente hace cd(). Sé que no es tan bueno como Firebugs cd(). Pero la buena noticia es cd() is coming to Chrome

+2

Tenga en cuenta el cuadro de selección "" en la barra de estado (que también se encuentra en la captura de pantalla anterior).) Es análogo a cd() y determinará el marco en cuya consola de contexto de "ventana" se evaluarán los comandos. –

+2

Solo funciona para iframes del mismo dominio, no en iframes de dominios cruzados. –

13

en cromo Devtools, la "conmutación de contexto" está disponible en la parte inferior de la página. Consulte el menú desplegable <top frame>? Allí puedes cambiar desde dónde se ejecuta el script. Esto es lo mismo, efectivamente, como cd().

Esto se explica más en https://stackoverflow.com/a/8581276/89484

+2

Para aquellos que buscan frenéticamente ese menú, ahora está debajo de la pestaña Consola al lado del filtro. – twig

Cuestiones relacionadas