Если он должен оставаться в браузере (не загружая приложение или поток чтения в музыкальном / видеоплеере), единственный способ должен состоять в том, чтобы не менять страницу и загружать контент, который должен изменяться с помощью ajax или javascript ( или поместите его в (i) рамку).
Но было бы намного проще создать страницу, содержащую только лектора, и разместить ссылку на своем веб-сайте, чтобы открыть ее в другой вкладке:
<a href="/music-player.htm" target="musicPlayer">Text or what you want</a>
Редактировать:
Так что с javascript это будет тот же результат, что и с ajax, но это означает, что не нужно менять страницу, так что для SEO, если это несколько важно, это нехорошо.
То, что я имел в виду под javascript, было, например, если вы нажали на ссылку «home», просто добавив динамически <script type="text/javascript" src="/homepage.js"></script>
, который изменяет содержимое страницы (сохраняя mp3-плеер).
В противном случае, может быть, с cookie, если игрок может узнать через javascript:
- в курсе, к какому mp3 файлу проигрыватель
- время проигрывания mp3 плеера
- перейти на указанный mp3-файл
- идти в указанное время в mp3
- (и если есть возможность приостановить игрока, должна быть возможность узнать, играет ли игрок или нет)
Это было бы возможно при смене страницы, чтобы получить в нужное время (но будет время, чтобы загрузить страницу и mp3-плеер без музыки).
Или может существовать mp3-плеер, который может сэкономить время, в котором мы находимся, и начать в это время на другой странице (но все же при смене страницы нет звука в течение нескольких секунд).
При использовании этих методов возникнет также проблема открытия нескольких страниц.
Редактировать:
Я пробовал способ с содержанием страницы в iframe, он работает довольно хорошо, но для переключения в режиме mp3 нужна мембрана.
Вот mp3.html (поместить в корневую папку, если это невозможно, потребуются некоторые изменения):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>MP3 Player</title>
<style type="text/css">
html {
font-size: 100%;
}
body {
margin: 0;
padding: 0em;
}
#frame { width: 100%; height: 100%; border: none; }
#player { position: absolute; right: 20px; bottom: 20px; }
</style>
<script type="text/javascript">
if ("onhashchange" in window) {
var h='';
var command= false;
window.onhashchange = function(){
if(location.hash==h) return;
command= true;
window.frames['frame'].location.replace(location.hash.replace(/^#/,""));
h= window.location.hash;
}
}
</script>
</head>
<body>
<iframe id="frame" onLoad="if(this.src=='')return;if(command)command=!1;else window.location.replace(h='#'+window.frames['frame'].location.href.replace(new RegExp('^'+document.location.origin),''));document.title=window.frames['frame'].document.title;"></iframe>
<script type="text/javascript">
document.getElementById("frame").src=document.location.hash.replace(/^#/,"");
</script>
<div id="player">
<object type="application/x-shockwave-flash" data="http://s301826463.onlinehome.fr/so/dewplayer.swf?mp3=http://s301826463.onlinehome.fr/so/Tokyo.mp3" width="200" height="20" id="dewplayer"><param name="wmode" value="transparent"><param name="movie" value="http://s301826463.onlinehome.fr/so/dewplayer.swf?mp3=http://s301826463.onlinehome.fr/so/Tokyo.mp3"></object>
<a href="javascript:document.location.href=document.location.hash.replace(/^#/,'')">remove mp3 player</a>
</div>
</body>
</html>
А чтобы поместить ссылку, открывающую текущую страницу в iframe и с mp3-плеером, нужна только ссылка:
<a href="javascript:parent.location.href='/mp3.html#'+document.location.href.replace(new RegExp('^'+document.location.origin),'')">add mp3 player</a>
Пример использования этого здесь .