2013-02-19 18 views

回答

8

与Chrome和Firefox不同,Safari不支持这种功能,唯一的选择似乎是从控制台访问窗口对象。当你正确地指出这将触发跨域策略问题,但前提是在Mac上运行的(这并不适用于Windows某种原因),你可以使用

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

绕过这一点。接下来在你的jsbin上,你可以使用一些东西沿

window.frames[0] 

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

Safari.exe --disable-web-security 

显然不起作用。

0

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

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

在Safari控制台,那么你只需用

frame.document.write('bla'); 

工作,请注意, '框架' 是简写document.getElementById('frame')

+0

不幸的是,它不适用于具有与主机页面不同的域名的iframe。这就是为什么萤火虫'cd'命令和Chrome下拉菜单用于更改“上下文”非常有用... – 2013-02-20 21:34:51

+0

当然?我试着用不同的URL,它工作。只为发布,我将其更改为about:blank。 – 2013-02-20 23:30:06

+0

是的:http://jsbin.com/ojiley/2 - 当我打开Safari控制台并输入:document.getElementById(“test-iframe”)。document'我得到'undefined':http:// cl .ly/image/0N0v1l223w1m – 2013-02-21 15:15:06