Me gustaría cambiar el contexto del javascript ejecutado en la herramienta de desarrollo webkit / consola firebug para ejecutar su código como si se estuviera ejecutando desde dentro de un iframe en la página.
Sé que podría hacer esto abriendo la página en el iframe en una página separada, pero quiero ejecutar el código donde interactúa con el marco principal.
javascript
iframe
console
firebug
Muhd
fuente
fuente
window.frames[x]
moda. Simplemente agregue el comando que desee. IEwindow.frames[0].runFunction()
Respuestas:
Chrome 15 le permite cambiar el alcance de la consola. En la parte inferior de la consola, junto al botón de borrar la consola, hay un menú que dice
<top frame>
que dará una lista de marcos disponibles:Firefox tiene una característica similar actualmente en desarrollo:
También puede navegar a través de los marcos usando la línea de comando :
fuente
Puede ejecutar código en
<iframe>
s utilizando lawindow.frames[x]
funcionalidad. Por ejemplo,fuente
window.frames[0].alert()
En el Chrome actual (versión 52), todo lo que tienes que hacer es seleccionar el iframe en la pestaña "Elementos" de las herramientas de desarrollo. Todo lo que ejecute en la consola JS se ejecutará automáticamente en el contexto del iframe seleccionado.
Por ejemplo, aquí seleccioné un iframe, y cuando escribo
document.location.pathname
en la consola, devuelve el atributo src del iframe, en lugar de la URL de la barra de direcciones:fuente
Para la solución firebug, vea esta respuesta en otra pregunta SO. Sin embargo, no funciona entre dominios como la solución de Chrome de Dennis.
Editar: con las versiones más recientes de firebug, es posible que hayan solucionado el problema entre dominios.
fuente
La ejecución de instrucciones y comandos de script de forma predeterminada se realiza en el contexto de la ventana de nivel superior. Si está usando marcos, use el comando de consola "cd ()".
cd () Llamar a cd () sin parámetros vuelve a la ventana de nivel superior.
cd (ventana) Le permite cambiar la evaluación de la expresión de la línea de comandos desde la ventana de nivel superior predeterminada de la página web a la ventana de un marco.
Más info aquí
fuente
fuente