我知道Chrome可以通过下拉菜单选择控制台执行的上下文,Firebug可以使用cd()
进入iframe。但是我无法弄清楚如何在Safari的控制台中更改上下文。有人知道怎么做吗?
我知道Chrome可以通过下拉菜单选择控制台执行的上下文,Firebug可以使用cd()
进入iframe。但是我无法弄清楚如何在Safari的控制台中更改上下文。有人知道怎么做吗?
Safari与Chrome和Firefox不同,对此功能没有真正的支持,唯一的选择似乎是从控制台访问窗口对象。正如您正确指出的那样,这将触发跨域策略问题,但是只要您在Mac上运行(由于某种原因,这在Windows上不起作用),您可以使用
open -a '/Applications/Safari.app' --args --disable-web-security
window.frames[0]
访问页面窗口。据我所见,Windows 没有类似的解决方案,因为
Safari.exe --disable-web-security
显然不起作用。
Iframe 元素本身在控制台中属于 Window 类型
<iframe id="frame" src="about:blank"/>
frame.document.write('bla');
document.getElementById('frame')
的缩写。