Η πιο σωστή λύση είναι το μενού, το mp3 player και ότι άλλο θες να μένει σταθερό να αποτελούν τη βασική ιστοσελίδα και να έχεις ένα div όπου θα φορτώνονται τα επιμέρους περιεχόμενα με ajax. Ορίστε ένα κομμάτι κώδικα βασισμένο σε jQuery που παίζει και με permalinks
Κώδικας: Επιλογή όλων
/*
με βάση το παρακάτω παράδειγμα:
το μενού σου έχει id="navigation"
οι σύνδεσμοι στο μενού είναι της μορφής: <a href="#home">Αρχική</a>
οι σελίδες σου βρίσκονται σε υποφάκελο "pages" με onomasia.php όπου onomasia είναι το #link από το μενού
έχεις τίτλο της μορφής: <div id="title"><h1>titlos</h1></div>
τα περιεχόμενα εμφανίζονται στο <div id="content"></div>
*/
function setTitle(page){
var link = $.find('[href="#'+page+'"]');
$( "#title h1" ).first().text($(link).text());
}
$( document ).ready(function() {
if(window.location.hash){
$( "#content" ).load( "pages/"+window.location.hash.substr(1)+".php" );
setTitle(window.location.hash.substr(1));
} else {
$( "#content" ).load( "pages/home.php" );
setTitle('home');
}
});
$('#navigation a').click(function(){
var href = $(this).attr("href");
var page = href.substr(1);
$( "#content" ).load( "pages/"+page+".php" );
setTitle(page);
});
});
Με τον παραπάνω κώδικα λοιπόν φορτώνεις μέσα στο content τα περιεχόμενα του εκάστοτε αρχείου το οποίο φορτώνεται με ajax άρα ότι κώδικα php έχει μέσα τον τρέχει και γυρνάει το αποτέλεσμα. Ταυτόχρονα σου αλλάζει τον τίτλο με βάση το link που πατήθηκε και μπορείς κάλλιστα να κάνεις share permalinks από συγκεκριμένες σελίδες με τη μορφή
www.mypage.gr/#contact και θα εμφανίζει το αντίστοιχο περιεχόμενο.
Γίνεται και με iframe αλλά πιστεύω με τον παραπάνω τρόπο έχεις πολύ περισσότερη ευελιξία και είναι και πιο γρήγορο για τον χρήστη (δεν βλέπει πουθενά να γίνεται κάποιο loading).