Hola, fisito1901.
Cojo, momentaneamente, el relevo de caricatos (¡Hola!
)
Yo creo que el problema es que se ejecuta el código JavaScript antes de definir los marcos. Es decir: cuando pones
top.mainFrame.location.href = la_página; el frame
mainFrame todavía no existe y por eso te da error.
Intenta poner el código dentro de una función:
function cargar() {
//Aquí pones todo el código
}
Y la llamas después de que se creen los marcos.
Espero que te funcione. Saludos,