How do I cd into an iframe in chrome developer tools or firebug lite in chrome?
when I try cd, 开发者_如何学JAVAconsole says "cd is not defined"
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
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;
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
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);");
精彩评论