9

我知道Chrome让您通过下拉菜单选择控制台执行的上下文,而 Firebug 让您cd()进入 iframe。我不知道如何更改 Safari 控制台中的上下文。有谁知道如何做到这一点?

4

2 回答 2

9

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

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

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

window.frames[0]

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

Safari.exe --disable-web-security

显然不起作用。

于 2013-03-06T09:16:09.350 回答
0

iframe 元素本身是控制台中的类型窗口

<iframe id="frame" src="about:blank"/>

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

frame.document.write('bla');

请注意“框架”是简写document.getElementById('frame')

于 2013-02-20T16:30:10.060 回答