当我尝试 cd 时,控制台显示“cd 未定义”
问问题
10962 次
3 回答
13
在 Chrome Devtools 中,“上下文切换器”位于页面底部。看到<top frame>
下拉菜单了吗?在那里,您可以更改脚本的执行位置。这实际上与 相同cd()
。
于 2012-05-17T16:36:47.767 回答
7
是的,你是对的 Firebug 有这个很棒的命令。我很喜欢。它使iframes
工作变得更加容易。就我个人而言,我不会仅仅因为 Firefoxcd()
中提供了 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
于 2011-10-13T20:31:31.920 回答
0
对于使用firefox的人来说,cd()
是不行的。
相反,一种可能的解决方案是在 iframe 的 contentWindow 上调用 eval() 以在 iframe 的上下文中运行 javascript。
var frame = document.getElementById("MyIframe").contentWindow;
frame.eval("alert(1);");
于 2022-02-05T19:58:20.167 回答