Кадры / Iframes
Один из способов добиться этого - создать frameset или использовать iframes для отображения подстраниц. Верхний (или нижний) кадр был бы очень маленьким и содержал ваш музыкальный проигрыватель. Большая рамка будет содержать страницу, которая просматривается. Этот метод используется, например, Google при нажатии на результат поиска изображений .
У этого метода есть свои недостатки: пользователь увидит ваш URL в адресной строке, а не тот, который просматривается на странице. Если пользователь вводит что-то в адресную строку, он покидает ваш набор фреймов. Это невозможно, например, записать URL текущей страницы.
Ajax
Второй, лучший способ - создать навигацию, которая загружает другие страницы в текущую страницу через AJAX. Смотрите пример реализации здесь .
Это обеспечит плавную загрузку, музыка продолжит играть. Если все сделано правильно, можно даже сохранить работоспособную структуру ссылок, которая не будет нарушать внешние ссылки, и работать с кнопкой «назад». Учебник, на который я ссылаюсь, охватывает оба аспекта. Только будьте осторожны, это учебник из 3 частей.
Тем не менее, он работает только с включенным JavaScript, но есть решения, которые корректно понижают версию (возвращаясь к «нормальному» поведению переключения страниц при отключенном JavaScript).