el frame es la mejor opcion, solo debes de configurarlo bien, para que no se vea, y hay un truco muy efectivo para los títulos de las páginas:
como no lo voy a usar espero que te sirva:
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>titulo mientras se carga</title>
<!-- icono, no necesario: -->
<link rel="shortcut icon" href="favicon.ico" />
</head>
<!-- aqui configuras que el primer marco tenga ancho total y el segundo nada (queda oculto) -->
<frameset rows="*,0" cols="*" framespacing="0" frameborder="no" border="0">
<!--javascript que permite colocar el titulo de la pagina en el tope de la ventana o frameset: -->
<frame onload="document.title=window.frames['mainFrame'].document.title;" src="index2.php" name="mainFrame" id="mainFrame" title="mainFrame" />
<!-- marco inferior adaptado para que no se vea: -->
<frame src="frame_payer.php" name="bottomFrame" scrolling="No" noresize="noresize" id="bottomFrame" title="bottomFrame" />
</frameset>
<noframes>
<body>
no soporta marcos
</body>
</noframes>
</html>
independientemente del objeto que uses para reproducir, puedes acceder a él desde js sólo haciendo referencia al marco:
var player=window.frames['
bottomFrame'].document.getElementById('id_objeto_reproductor');
otra cosa: solo debes evitar los link a
_top ya que te eliminarían el marco, una solución es colocar en los link target="
mainFrame"