Per prima cosa, modifica così il codice:
codice:
<script type="text/javascript">
window.opener.location='open.html';
</script>
che è più corretto.
Poi, se ho capito bene, tu devi caricare prima il frameset "open.htm" nella finestra che ha aperto quella in cui si trova questo codice e poi impostare il suo frame "sito" con la pagina a.html, giusto?
Se è così, dopo window.opener.location='open.html"; aggiungi questa riga di codice:
codice:
setTimeout("window.opener.top.sito.location='a.html'",2000);
Dovrebbe funzionare...ho dato un "ritardo" di 2 secondi (2000 millisecondi) in modo che prima il frameset "open.html" sia caricato e solo dopo (quando cioè esiste l'oggetto frame chiamato "sito" al suo interno), la sua location possa essere cambiata (altrimenti va in errore perché non trova il frame "sito").