将Safari 6控制台的上下文更改为页面上的iframe

时间:2013-02-19 16:41:52

标签: javascript safari console web-inspector

我知道Chrome让你通过下拉菜单选择控制台执行的上下文,然后Firebug让你cd()进入iframe。我无法弄清楚如何在Safari的控制台中更改上下文。有谁知道如何做到这一点?

2 个答案:

答案 0 :(得分:9)

Safari与chrome和firefox不同,它没有真正支持此功能,唯一的选择似乎是从控制台访问窗口对象。正确指出这将触发跨域策略问题,但是如果你在mac上运行(这在Windows上由于某些原因不起作用)你可以使用

open -a '/Applications/Safari.app' --args --disable-web-security

绕过这个。接下来在你的jsbin上你可以使用

的内容
window.frames[0]

访问页面窗口。据我所知,Windows没有类似的解决方案,如

Safari.exe --disable-web-security

显然不起作用。

答案 1 :(得分:0)

Iframe元素本身属于Console

中的Type Window
<iframe id="frame" src="about:blank"/>

在Safari控制台中,您只需使用

即可
frame.document.write('bla');

请注意'frame'是document.getElementById('frame')

的简写