login  Naam:   Wachtwoord: 
Registreer je!
 Forum

include probleem (Opgelost)

Offline Mats - 05/11/2010 12:58
Avatar van MatsNieuw lid Hallo iedereen,

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.

Hier volgt de code:

index.php:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2.  
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.  
  5. <head>
  6.  
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  8.  
  9. <title>DJ Carloz / Home</title>
  10. <link href="style.css" rel="stylesheet" type="text/css" />
  11.  
  12. <!-- javascript verwijzig voor flash-bestanden -->
  13. <script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
  14.  
  15. </head>
  16.  
  17. <body>
  18.  
  19. <!-- begin "wrapper" -->
  20. <div id="wrapper">
  21.  
  22. <!-- begin if statement (php include) -->
  23. <?php
  24. if (isset($_GET['pagina']))
  25. {
  26. if($_GET['pagina']=='home')
  27. {
  28. include('home.php');
  29. }
  30. elseif($_GET['pagina']=='bio')
  31. {
  32. include('bio.php');
  33. }
  34. }
  35. else
  36. {
  37. include('home.php');
  38. }
  39. ?>
  40. <!-- einde if statement (php include) -->
  41.  
  42. <!-- begin "footer" -->
  43. <div id="footer">
  44.  
  45. <!-- begin footer.swf -->
  46. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="954" height="30" id="FlashID2">
  47.  
  48. <param name="movie" value="apps/footer.swf" />
  49. <param name="quality" value="high" />
  50. <param name="wmode" value="opaque" />
  51.  
  52. <!--[if !IE]>-->
  53. <object type="application/x-shockwave-flash" data="apps/footer.swf" width="955" height="30">
  54. <!--<![endif]-->
  55.  
  56. <param name="quality" value="high" />
  57. <param name="wmode" value="opaque" />
  58. <param name="swfversion" value="6.0.65.0" />
  59. <param name="expressinstall" value="../Scripts/expressInstall.swf" />
  60.  
  61. <!--[if !IE]>-->
  62. </object>
  63. <!--<![endif]-->
  64.  
  65. </object>
  66. <!-- einde footer.swf -->
  67.  
  68. </div>
  69. <!-- einde "footer" -->
  70.  
  71. </div>
  72. <!-- einde "wrapper" -->
  73.  
  74. </body>
  75.  
  76. </html>


home.php:
  1. <!-- begin "_background" -->
  2. <div id="index_background">
  3.  
  4. <!-- begin "menu" -->
  5. <div id="menu">
  6.  
  7. <!-- begin menu.swf -->
  8. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="955" height="35" id="FlashID">
  9.  
  10. <param name="movie" value="apps/menu.swf" />
  11. <param name="quality" value="high" />
  12. <param name="wmode" value="opaque" />
  13. <param name="swfversion" value="6.0.65.0" />
  14.  
  15. <!--[if !IE]>-->
  16. <object type="application/x-shockwave-flash" data="apps/menu.swf" width="955" height="35">
  17. <!--<![endif]-->
  18.  
  19. <param name="quality" value="high" />
  20. <param name="wmode" value="opaque" />
  21. <param name="swfversion" value="6.0.65.0" />
  22. <param name="expressinstall" value="Scripts/expressInstall.swf" />
  23.  
  24. <!--[if !IE]>-->
  25. </object>
  26. <!--<![endif]-->
  27.  
  28. </object>
  29. <!-- einde menu.swf -->
  30.  
  31. </div>
  32. <!-- einde "menu" -->
  33.  
  34. </div>
  35. <!-- einde "_background" -->


bio.php:
  1. <!-- begin "_background" -->
  2. <div id="bio_background">
  3.  
  4. <!-- begin "menu" -->
  5. <div id="menu">
  6.  
  7. <!-- begin menu.swf -->
  8. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="955" height="35" id="FlashID">
  9.  
  10. <param name="movie" value="apps/menu.swf" />
  11. <param name="quality" value="high" />
  12. <param name="wmode" value="opaque" />
  13. <param name="swfversion" value="6.0.65.0" />
  14.  
  15. <!--[if !IE]>-->
  16. <object type="application/x-shockwave-flash" data="apps/menu.swf" width="955" height="35">
  17. <!--<![endif]-->
  18.  
  19. <param name="quality" value="high" />
  20. <param name="wmode" value="opaque" />
  21. <param name="swfversion" value="6.0.65.0" />
  22. <param name="expressinstall" value="Scripts/expressInstall.swf" />
  23.  
  24. <!--[if !IE]>-->
  25. </object>
  26. <!--<![endif]-->
  27.  
  28. </object>
  29. <!-- einde menu.swf -->
  30.  
  31. </div>
  32. <!-- einde "menu" -->
  33.  
  34. </div>
  35. <!-- einde "_background" -->


iemand een idee?

23 antwoorden

Gesponsorde links
Offline Downbase - 05/11/2010 12:59
Avatar van Downbase Lid Je gebruikt op je index.php een ?p= systeem. Het is dus alleen noodzakelijk de .swf file te laden op de index.
Offline Mats - 05/11/2010 13:03
Avatar van Mats Nieuw lid 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.
Offline cx1213 - 05/11/2010 13:11
Avatar van cx1213 Lid 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.
Offline Mats - 05/11/2010 13:44
Avatar van Mats Nieuw lid Dus kort samengevat, ik maak het mezelf makkelijker om van heel de website een .swf applicatie te maken?
Offline Downbase - 05/11/2010 13:44
Avatar van Downbase Lid Nee 
Offline Sam - 05/11/2010 14:59
Avatar van Sam PHP expert 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.
Offline Martijn - 05/11/2010 15:28
Avatar van Martijn Crew PHP 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
Offline Mats - 05/11/2010 16:09
Avatar van Mats Nieuw lid Ik ken niets van AJAX :-p en op zich is Flash ook niet optimaal voor SEO, dus ik ga die iframes is proberen.

en de achtergrondmuziek is op vraag van mijn klant ik ben er zelf ook geen fan van
Offline pijke - 05/11/2010 16:29
Avatar van pijke Gouden medaille

Lid
mag ik wel mededelen dan iframes heeeeeeeeeeeeel erg lelijk zijn 
Offline Sam - 05/11/2010 19:32
Avatar van Sam PHP expert 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.
Offline WouterJ - 05/11/2010 20:01
Avatar van WouterJ HTML gevorderde
Samscam schreef:
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.
Offline Sam - 05/11/2010 20:27
Avatar van Sam PHP expert
Waldio schreef:
[..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.
Offline qtuutr - 06/11/2010 23:17 (laatste wijziging 07/11/2010 00:17)
Avatar van qtuutr Lid 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.
Offline vinTage - 07/11/2010 00:38
Avatar van vinTage Nieuw lid een 'redelijk' elegante oplossing
Offline peerke59 - 08/11/2010 12:13
Avatar van peerke59 MySQL interesse 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.
Offline vinTage - 08/11/2010 13:27
Avatar van vinTage Nieuw lid
peerke59 schreef:
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...?
Offline qtuutr - 08/11/2010 13:47
Avatar van qtuutr Lid 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!
Offline vinTage - 08/11/2010 14:32
Avatar van vinTage Nieuw lid 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 
Offline TotempaaltJ - 08/11/2010 16:23
Avatar van TotempaaltJ PHP interesse 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.
Offline Mats - 19/11/2010 11:31
Avatar van Mats Nieuw lid
vinTage schreef:
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 :-(

  1. // Declareren variabelen
  2. var liedje1 = new Sound();
  3. var liedje1Afspelen:Boolean = true;
  4.  
  5. var huidigLiedje = new Sound();
  6. var huidigLiedjeTijd:Number = 0;
  7.  
  8. var updaten:Number;
  9. var saveTijd:Number = 1;
  10.  
  11. // Laden liedjes
  12. liedje1.loadSound("apps/Dj_Carloz_-_Incast.mp3", true);
  13.  
  14. // Instellen huidigLiedje
  15. huidigLiedje = liedje1;
  16.  
  17. // Functie die huidige speeltijd in een shared object plaatst
  18. function tijd(){
  19. playPos.data.tijd = huidigLiedje.position;
  20. playPos.flush();
  21. }
  22.  
  23. // Liedje afspelen van begin of opgeslagen positie
  24. huidigLiedje.onLoad = function(){
  25. if (playPos.data.tijd == undefined){
  26. huidigLiedje.start();
  27. }
  28. else
  29. {
  30. var startPunt:Number = playPos.data.tijd/1000;
  31. huidigLiedje.start(startPunt);
  32. }
  33. updaten = setInterval(tijd, saveTijd*1000);
  34. }
  35.  
  36. // Play/pauze knop
  37. play_btn.onRelease = function(){
  38. if (liedje1Afspelen == true){
  39. huidigLiedjeTijd = huidigLiedje.position/1000;
  40. huidigLiedje.stop();
  41. liedje1Afspelen = false;
  42. }
  43. else{
  44. huidigLiedje.start(huidigLiedjeTijd);
  45. liedje1Afspelen = true;
  46. }
  47. }


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.

Url van de site is (voorlopig): http://djcarloz.gm-mg.be

Help iemand :-D ?
Offline Frisbee - 19/11/2010 12:16
Avatar van Frisbee HTML beginner
peerke59 schreef:
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.
Offline vinTage - 19/11/2010 12:28
Avatar van vinTage Nieuw lid @ts, waar is het sharedobject gedeelte in je scriptje?
Kijk nog eens goed naar mijn voorbeeld.
Bedankt door: Mats
Offline Mats - 19/11/2010 12:39 (laatste wijziging 20/11/2010 11:52)
Avatar van Mats Nieuw lid 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.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.216s