Измените контекст консоли Safari 6 на iframe на странице

Я знаю, что Chrome давайте вы выбираете контекст для выполнения консоли с выпадающим меню и что Firebug давайте вы cd() в iframe. Я не могу понять, как изменить контекст в консоли Safari. Кто-нибудь знает, как это сделать?

2 ответов


Safari, в отличие от chrome и firefox, не имеет реальной поддержки этой функции, и единственным вариантом, похоже, является доступ к объекту window с консоли. Как вы правильно указываете, это вызовет проблемы с междоменной политикой, однако при условии, что вы работаете на mac (это не работает по какой-то причине в windows), вы можете использовать

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

чтобы обойти это. И далее на вашем jsbin вы можете использовать что-то вроде

window.frames[0]

для доступа к окну страница. Насколько я вижу, для windows нет аналогичного решения, как

Safari.exe --disable-web-security

apparantly не работает.


сам элемент Iframe имеет тип Window в консоли

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

в консоли Safari вы просто работаете с

frame.document.write('bla');

обратите внимание, что "рамка" является сокращением для document.getElementById('frame')