如何 cd 到 chrome 开发者工具中的 iframe 或 chrome 中的 firebug lite?

发布于 2024-11-02 08:17:49 字数 30 浏览 0 评论 0原文

当我尝试 cd 时,控制台显示“cd 未定义”

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

隱形的亼 2024-11-09 08:17:49

在 Chrome Devtools 中,“上下文切换器”位于页面底部。看到<顶部框架>下拉列表了吗?在那里您可以更改脚本的执行位置。这实际上与 cd() 相同。

https://stackoverflow.com/a/8581276/89484对此进行了更多解释

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

红玫瑰 2024-11-09 08:17:49

是的,你是对的 Firebug 有这个很棒的命令。我真的很喜欢它。它使使用 iframes 变得更加容易。就我个人而言,我不会仅仅因为 Firefox 中提供了 cd() 就使用 Firefox,因为我也可以在 chrome 开发工具中使用 cd 做任何事情。

只需在命令提示符中使用 contentWindow 关键字即可访问 iframe window 对象。然后你就可以很好地访问那里的任何函数和变量。

例如,我的 iframe 中有一个变量,通常无法通过控制台访问。

但我仍然可以通过 contentWindow 访问该变量,如下所示:

theIfraem.contentWindow.secret;

在此处输入图像描述

如果您想要触发一个函数,请执行以下操作:

theIframe.contentWindow.myfunc();

如果您想定义一些变量(最难的变量):

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

这就是 cd() 实际执行的操作。我知道它不如 Firebugs cd()。但好消息是 cd() 即将推出到 Chrome

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

风苍溪 2024-11-09 08:17:49

对于使用 Firefox 的人来说,cd() 不起作用。

相反,一个可能的解决方案是在 iframe 的 contentWindow 上调用 eval() 以在 iframe 的上下文中运行 javascript。

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

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);");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文