2013-02-19 6 views

risposta

8

Safari, a differenza di Chrome e Firefox, non ha un vero supporto per questa funzionalità e l'unica opzione sembra essere quella di accedere all'oggetto finestra dalla console. Come si punta correttamente questo innescherà questioni di politica di dominio croce, tuttavia a condizione che il funzionamento su Mac (questo non funziona per qualche ragione su Windows) è possibile utilizzare

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

per aggirare questo. E dopo sulla tua jsbin potresti usare qualcosa sulla falsariga di

window.frames[0] 

per accedere alla finestra della pagina. Per quanto posso vedere non esiste una soluzione simile per Windows, come

Safari.exe --disable-web-security 

apparentemente non funziona.

0

l'elemento IFRAME in sé è di tipo finestra all'interno della console

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

Nella console Safari, allora è sufficiente lavorare con

frame.document.write('bla'); 

prega di notare che 'frame' è una scorciatoia per document.getElementById('frame')

+0

Sfortunatamente questo non funziona con iframe con un dominio diverso da quello della pagina host. Ecco perché il comando firebug 'cd' e il menu a discesa di Chrome per cambiare" contesti "sono così utili ... –

+0

Sicuro? Ho provato questo con un URL diverso e ha funzionato. Solo per la pubblicazione l'ho cambiato a circa: vuoto. –

+0

Sì: http://jsbin.com/ojiley/2 - quando apro la console di Safari e digito: 'document.getElementById (" test-iframe "). Document' I get' undefined': http: // cl .ly/image/0N0v1l223w1m –