ik ben momenteel een website aan het bouwen en het volgende is de bedoeling:
- er speelt constant een liedje af (een .swf document zorgt hiervoor)
- als je van pagina wisselt blijft het liedje gewoon spelen
ik dacht dit te doen door met includes te werken. Wat ik dus heb gedaan is hetvolgende:
- de website bestaat uit twee "cellen", één cel voor de pagina zelf (bovenaan) en één cel voor de player (onderaan)
- de bovenste cel bestaat uit een include die de juiste pagina aanroept
- de onderste cel (met de player) is statisch
het probleem hier is echter dat wanneer ik van pagina wissel de player mee "reset" waardoor het liedje dus terug opnieuw begint. De bedoeling is dat deze player echter blijft spelen en niet opnieuw laad.
Je bedoeld het "footer.swf" bestand? De bedoeling is ook dat deze alleen laad in "index.php" en niet bij elke pagina. Volstaat het hier niet dat deze niet is opgenomen in het if statement?
Ik dacht dat deze include ervoor zorgt dat "home.php" en "bio.php" worden geladen binnen "index.php" en de player geladen blijft.
dit kan maar is heel ingewikkeld om dit goed te krijgen. je moet het swf laten cachen bij de gebruiker. en via een cookie de tijd van het liedje doorgeven bij onunload. omdat alles word gereset tijdens herladen.
Minder elegante oplossing: Je maakt een nieuwe index aan waarin je een iframe zet dat de eingenlijke website (de huidige index.php) bevat. Onder dit frame zet je je .swf. Als de inhoud van je iframe herladen wordt, zal je .swf niet herladen.
of cool (maar moeilijker) laat je hele site met AJAX werken (alleen slecht voor je SEO). Maar mag ik achtegrond muziek afraden? Als ik op een site kom met achtergrond muziek ben ik meteen weer weg. En met mij zat anderen
Verklaar? De bezoeker hoeft niet te zien dat er een iframe gebruikt is. Maar zoals ik al zei: het is inderdaad een minder elegante oplossing.
Een iframe is een frame in de div. Eigenlijk dus gewoon een frame, frame's zijn ouderwets.
Daarnaast is het zo dat als google op je site komt hij de iframe als een aparte webpagina beschouwd, dus als je een iframe met een menu hebt indexeerd google dat menu apart. Bezoekers worden dus gelinkt naar de pagina van de iframe.
[..quote..]
Een iframe is een frame in de div. Eigenlijk dus gewoon een frame, frame's zijn ouderwets.
Daarnaast is het zo dat als google op je site komt hij de iframe als een aparte webpagina beschouwd, dus als je een iframe met een menu hebt indexeerd google dat menu apart. Bezoekers worden dus gelinkt naar de pagina van de iframe.
Allemaal op te lossen met een stukje code dat checkt of je in een framepagina bent en je doorlinkt naar de volledige website indien dit het geval is, maar nogmaals: zoals ik al zei is dit niet de meeste elegante oplossing.
Dit is, zoals de discussie al uitwijst, een probleem dat moeilijk is elegant op te lossen.
Voor zover ik weet zou de enige oplossing inderdaad (pijke, vergeef mij, want je hebt groot gelijk) het werken met een iframe zijn omdat dat de enige mij bekende manier is om maar een deel van de pagina te herladen.
In dit geval lijkt me dat de beste oplossing, omdat de klant (dit naar mijn informatie, geen beledigingen bedoeld) het niet zo belangrijk vind dat de site stijlvol is, getuigende dat hij uberhaupt een achtergrondmuziekje wil.
Afhankelijk van je eigen voorkeur kan je wel of niet duidelijk de maker op de site vermelden (wel als je veel bekendheid wil, niet als je bij de "stijlvolle" programmeurs (weer geen beledigingen bedoeld) in de smaak wil vallen).
edit: Even een nuance toevoegen, met stijlvolle programmeurs bedoel ik de programmeurs die het belangrijk vinden om aan een nette standaard vast te houden en zoveel als mogelijk elegante oplossingen te gebruiken. Deze groep staat over het algemeen linea recta tegenover het gebruik van frames. Ik bedoel niet op welke manier dan ook dat deze groep beter is dan anderen.
Ik werk nog graag met frames, waarom zou het ouderwets zijn?
Frames zorgen nog altijd voor een mooie oplossing die in andere mogelijkheden niet gemakkelijk op te lossen zijn.
Dus waarom geen frames gebruiken?
Omdat een ander het niks vind?
Het is een hype om geen frames te gebruiken, net zoiets als mode wat ook terug kan komen.
Ik werk nog graag met frames, waarom zou het ouderwets zijn?
Frames zorgen nog altijd voor een mooie oplossing die in andere mogelijkheden niet gemakkelijk op te lossen zijn.
Dus waarom geen frames gebruiken?
Omdat een ander het niks vind? Het is een hype om geen frames te gebruiken, net zoiets als mode wat ook terug kan komen.
klinkklare onzin natuurlijk!!
binnenkort ga jij ook weer met sprokkelhout je huis verwarmen en inbellen met een 14k4 modem...?
Frames zijn ouderwets!
ouderwets hoeft alleen niet meteen slecht te zijn!
wiskunde, heel ouderwets! toch goed.
Het punt is alleen dat frames oud zijn en er voor veel toepassingen betere (=jongere) oplossingen zijn.
ik zou ook alleen voor een dergelijk probleem frames aanbevelen.
Als je ze gaat gebruiken voor lay-out ofzo moet je echt de pagina's op internet over div's gaan lezen!
Ik had een tijdje terug een mooi artikel gevonden wat hier goed op van toepassing is. Voor de luie mensen onder ons:
Citaat:
8. You Don’t Agree with Changes Your Client Wants to Make
You created a design that you consider one of your best works to date, and you’re so proud of it.
You send it off to the client; surely, they will be ecstatic and will love it completely.
They email back saying they just aren’t happy with it and have a huge list of changes that you think will ruin the design.
The Solution
Stay calm and use this as an educational opportunity for your client. Don’t let your emotions get the best of you. They didn’t go through art classes and they don’t know that red text on a green background isn’t the best choice for readability.
Explain your design decisions about visual hierarchy, typography or whatever is going to be affected if the changes are made.
Remember that the website is ultimately for your client, and you do want them to be happy with it. The best you can do is offer your recommendation for the changes, and what you might do instead.
If they don’t agree, do your best to make it still look as nice as you can.
Ik zou eerder gebruik maken van mijn oplossing, of anders gewoon je site met ajax maken ism swfadress.
Maar nog eerder die audio eruit trappenÂ
De audio eruit trappen is geen optie :-p ik heb het al genoeg geprobeerd om in mijn klant zen hoofd te pompen dat dit eigenlijk "not done" is maar hij blijft bij zijn standpunt :-)
Ik ben nu jouw AS code aan het proberen te gebruiken maar dit lijkt me ook niet goed te lukken :-(
// Functie die huidige speeltijd in een shared object plaatst
function tijd(){
playPos.data.tijd = huidigLiedje.position;
playPos.flush();
}
// Liedje afspelen van begin of opgeslagen positie
huidigLiedje.onLoad = function(){
if(playPos.data.tijd == undefined){
huidigLiedje.start();
}
else
{
var startPunt:Number = playPos.data.tijd/1000;
huidigLiedje.start(startPunt);
}
updaten = setInterval(tijd, saveTijd*1000);
}
// Play/pauze knop
play_btn.onRelease = function(){
if(liedje1Afspelen == true){
huidigLiedjeTijd = huidigLiedje.position/1000;
huidigLiedje.stop();
liedje1Afspelen = false;
}
else{
huidigLiedje.start(huidigLiedjeTijd);
liedje1Afspelen = true;
}
}
Het liedje speelt nog steeds af maar bij het wisselen van "Home" naar "Bio" (de enige twee pagina's die werkend zijn) begint het liedje gewoon opnieuw.
Ik werk nog graag met frames, waarom zou het ouderwets zijn?
Frames zorgen nog altijd voor een mooie oplossing die in andere mogelijkheden niet gemakkelijk op te lossen zijn.
Dus waarom geen frames gebruiken?
Omdat een ander het niks vind?
Het is een hype om geen frames te gebruiken, net zoiets als mode wat ook terug kan komen.
Toen mensen dit in 2002 zeiden kon ik het nog een beetje begrijpen.. maar we zitten inmiddels in 2010. Zoekmachines indexeren frames slecht, er kan niet direct naar pagina's binnen de site gelinkt worden, pagina's uitprinten werkt waardeloos. Gewoon niet doen dus.
Er is een nieuwe fout opgetreden... Tot daarnet werkte het perfect, nu speelt de player slechts enkele seconden van het liedje af. Daarna stopt het gewoon en refreshen is geen oplossing want dan speelt het gewoon niet meer. Iemand een idee?
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.