How could I do to make the .load
function instead of loading the content of <body>
just load the contents within <main>
?
My jQuery:
// Checa se a página foi carregada para evitar aplicar os códigos antes de ter algum elemento não carregado. Pode-se usar também "$(function(){".
$(document).ready(function(){
$(".ajax").on("click", function(e){
e.preventDefault(); //eliminamos o evento
var path = $(this).attr("href"); //Pegamos o caminho
var titulo = $(this).data('titulo'); //pegamos o titulo da página
document.title = titulo; // Alterar o titulo da página
window.history.pushState("", titulo, path);
$("main").empty(); //Limpa para poder colocar o conteúdo.
$("main").load(path); //Faz uma requisição http para o servidor.
});
});
HTML:
<body>
<!-- No caso, o header é a parte fixa, que não muda. -->
<header>
<div>"Aqui fica o player de audio."</div>
<ul>
<li><a href="home.html" class="ajax" data-titulo="Início do meu Site">Home</a></li>
<li><a href="sobre.html" class="ajax" data-titulo="Sobre mim">Sobre</a></li>
</ul>
</header>
<main>
<!-- Aqui é onde o conteúdo vai ser carregado. -->
</main>
</body>