How do I cd into an iframe in chrome developer tools or firebug lite in chrome?

12.4k Views Asked by At

when I try cd, console says "cd is not defined"

3

There are 3 best solutions below

3
On BEST ANSWER

Yes, you are right Firebug have this awesome command. I really like it. It's making wotking with iframes much easier. Personally I don't go to Firefox just because the cd() is available in it because I can do whatever I can do with cd in chrome dev tools too.

Just use contentWindow keyword in your command prompt to access the iframe window Object. Then you will be good to access any function and variable out there.

For example I have a variable in my iframe that is not accessible via console normally.

But still I can access to the variable via contentWindow like this:

theIfraem.contentWindow.secret;

enter image description here

If you want to fire a function do this:

theIframe.contentWindow.myfunc();

If you want to define some variables(the hardest one):

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

This is what cd() actually does. I know it's not as good as Firebugs cd(). But the good news is cd() is coming to Chrome

1
On

In Chrome Devtools, the "context switcher" is available at the bottom of the page. See the <top frame> dropdown? In there you can change where your script is executing from. This is the same, effectively, as cd().

This is explained more in https://stackoverflow.com/a/8581276/89484

0
On

For people using firefox, cd() does not work.

Instead, a possible solution is to call eval() on the iframe's contentWindow to run javascript in the context of the iframe.

var frame = document.getElementById("MyIframe").contentWindow;
frame.eval("alert(1);");