Лучшее решение остается AJAX точно так же, как вы планировали. А также, как вы планировали, история браузера (и закладка) не будет работать правильно, если вы не используете history.js. Я дам вам прочитать больше от другого поста: How to "bookmark" page or content fetched using AJAX? содержание неправдоподобно-используя-Аякса
Редактировать, чтобы помочь реализации AJAX: Не видя код, это трудно сказать, если это сработает, но что-то подобное в этот самый общий сценарий может превратить любой веб-сайт от «обычных» Аяксу отогнать JQuery:
$('body').on('click','a',ajaxContentReplace);
$('body').on('submit','form',ajaxContentReplace);
function ajaxContentReplace(){
if($(this).is('form'){
// Will send form data in POST and retrieve the html in #container to put it in #container.
$('#container').load($(this).prop('action')+' #container',$(this).serializeArray);
}else{
// Will retrieve the hole page and put the content of #container in #container of the current page.
$('#container').load($(this).prop('href')+' #container');
}
}
Это только быстрое решение, которое работает на некоторых основных веб-сайтов, он не может делать все, что вам нужно, но по-прежнему начало.
Редактировать: Как я уже указывал в комментариях к вопросу, популярные радиостанции используют всплывающее окно для воспроизведения радиопередач, таким образом пользователи могут покинуть свой сайт и все еще слушать радио. Это также очень простая реализация.
Возможно, вы сохранили положение аудио в переменной cookie или сессии. –
Единственной альтернативой ajax будет использование фреймов – JSON
@remyabel - это создаст пробелы в звуке, и в качестве «радиосистемы» я бы предположил, что ее трансляция так перезагружает, что она будет размещаться в текущем месте в трансляции без использования JavaScript/отслеживание файлов cookie. – JSON