Probleem met Cookies in Google Chrome
Sinds een tijdje ben ik bezig met een muziek-website waar je meer dan 2100 nummers online kunt beluisteren.
Nu ben ik de afgelopen dagen bezig geweest met een script dat de artiest en titel van het nummer wat op dat moment bezig is laat zien.
In een verborgen frame onderaan de pagina staat een embed media player die via een php pagina een dynamische asx-playlist afspeelt.
Telkens wanneer er een nummer is afgelopen opent de embed media player de php pagina,
welke een random nummer kiest uit een database en dit in een cookie zet en daarna gaat afspelen.
In de header van de pagina staat een script wat deze cookie uitleest en de artiest en titel laat zien.
Nu heb ik dit script continu getest in internet explorer, en hier werkt het script 100%!
Ga maar naar deze pagina om het te testen: http://nieuw.radiostereo.nl
Maar nu het probleem.. in google chrome werkt dit alles dus niet.
De muziek werkt wel, maar de informatie in de cookie komt niet overheen met het nummer
wat wordt afgespeeld.
Aangezien alles in internet explorer gewoon werkt denk ik niet dat het probleem in 1 van de scripts zit.
Maar ik kan de scripts wel posten als dat nodig is hoor..
Wanneer ik op een andere manier een random nummer kies en in een cookie zet werkt het ook.
Alleen wanneer de php-pagina moet werken via een embed media player werken de cookies opeens niet meer.
Is er iemand die enig idee heeft wat het probleem kan zijn?
Ik loop er op dit moment in ieder geval op vast..
Alvast bedankt!
Groetjes Stefan
EDIT: Het probleem is er ook in Opera...
Gewijzigd op 10/07/2010 23:22:03 door Stefan Vermunt
Ook het menu werkt in FF niet goed. Als ik over een menu-item heen ga, verschijnt er een submenu. Als ik vervolgens naar een ander menu-item ga, verschijnt het submenu onder het nog zichtbare submenu van het vorige menu-item. Kortom; ik heb het scherm vol met sub-menu's staan.
IE houdt zich niet altijd aan de 'standaard'; een website maken zonder te testen in FF (Chrome, Opera) geeft bijna altijd problemen. En ook omgekeerd; wat in FF er goed uit ziet, geeft geen garantie dat IE het ook goed doet :(
Gewijzigd op 11/07/2010 10:37:21 door Obelix Idefix
Bij mij was het zo opgelost door een tijd mee tegeven hoelang de cookies moeten bestaan.
Dit moet, omdat Chrome en Firefox de cookies verwijderen na de browser sessie, wanneer er dus geen tijd is mee gegeven.
Internet explorer laat ze gewoon staan.
Voorbeeld code:
Het probleem van het menu in firefox is wel op te lossen, maar hier heb ik nog niet naar gekeken eerlijk gezegt.
Ik heb ook al embed media player scripts gezien die het wel moeten doen in firefox.
Maar op dit moment lijkt het enkel niet te werken omdat een embed media player in
firefox of chrome geen cookies kan lezen of schrijven.
De cookies kregen ook al een tijd mee, dus hier kan het ook niet aan liggen..
Nog meer ideën?
Stefan
Haal je site eens door de W3C Validator.
SanThe Nvt op 11/07/2010 15:23:24:
Haal je site eens door de W3C Validator.
Goedgekeurd..
Gewijzigd op 11/07/2010 15:46:44 door Stefan Vermunt
Ik had ook zeer lang dit probleem. IE en FireFox houden de sessie voor www. maar ook zonder. Chrome ziet deze als 2 aparte websites. Je kan met htaccess maken dat je altijd wordt doorgestuurd naar de www. versie.
Ik heb nog wat zitten zoeken op google en schijnbaar is
het nu eenmaal zo dat de embed media player plugin voor firefox en chrome geen
ondersteuning voor cookies en sessions heeft.
Hebben jullie nog andere suggesties?
Hierin staat een voorbeeld waar flash als fallback word gebruikt, het lijkt me prima mogelijk om je bestaande embed code op eenzelfde manier als fallback te gebruiken. (alle browsers ondersteunen de <audio> tag behalve IE)
http://www.html5rocks.com/tutorials/audio/quick/
Gewijzigd op 12/07/2010 08:48:13 door Johan Dam
aangezien die enkel 100% wordt ondersteund door Internet Explorer.
In Chrome werkt het nu redelijk.. maar alleen omdat ik nu met iframe's werk waarin de nummerinformatie in een database wordt gezet en bovenaan de pagina weer een iframe wat deze informatie uitleest door iedere 3 seconde de pagina (in het frame) te herladen..
Niet echt een nette oplossing dus.
Dat is namelijk precies de rede dat ik met cookies en javascript gestart ben..
de oude site stikt namelijk van de iframe's
Die <audio> tag voor html5 werk wel in chrome en firefox maar ondersteund geen mp3 (in firefox) en al helemaal geen playlist. dus dit is ook weer geen optie..
En ook voor die jwplayer kun je wel een playlist dynamisch laten maken,
maar eenmaal gemaakt kun je er niets meer aan veranderen.
Terwijl ik met de php pagina die ik nu heb ieder nummer appart kan bepalen.
Of Random, of uit een playlistdatabase of door een cookie..
Moeilijk dus...
Hebben jullie nog meer ideën? :)
EDIT: Ik heb die frames ondertussen al weer weggehaald hoor..
dus het werkt nu weer alleen nog in IE.
Gewijzigd op 12/07/2010 20:04:53 door Stefan Vermunt
Ik heb vandaag een muziekspeler gemaakt in adobe flash!
De flashspeler opent een php pagina die kijkt of je een nummer in je playlist of cookie hebt staan, en speelt deze af.
En wanneer dit niet het geval is wordt er een random nummer gekozen.
Tevens werkt het ook om via deze php pagina cookies te schrijven met daarin de artiest en titel van het nummer.
En dan nu het mooiste: het werkt in alle browsers + zelfs op de ps3 (allemaal dankzij flash)
Maar nu is er nog 1 probleem:
De muziekspeler staat in een frame element wat ik onzichtbaar maak door de hoogte op 0 te zetten (zie de source van de pagina)
Nu werkt dit in ALLE browsers.. behalve in Firefox.
Tenzij ik de hoogte op minimaal 10px zet, dan is het probleem opgelost.
Heeft er iemand enig idee hoe dit kan??
P.s De frames zijn resizable dus je kunt het onzichtbare frame onderaan de pagina groter maken, en zoals je zult zien gaat de speler dan ineens werken..
Iemand nog een idee misschien?
Ik zou het erg storend vinden als er muziek op een pagina wordt afgespeeld die ik niet eens kan stoppen.
Dan is het meteen Ctrl + W.
maar dat was niet de vraag..
Code (php)
1
2
3
4
2
3
4
<frameset rows="*,0">
<frame frameborder="0" name="home" src="paginas/home.php" />
<frame frameborder="0" name="muziek" src="paginas/muziek/muziekspeler.php" />
</frameset>
<frame frameborder="0" name="home" src="paginas/home.php" />
<frame frameborder="0" name="muziek" src="paginas/muziek/muziekspeler.php" />
</frameset>
Hier werkt het niet in Opera, en ook niet in IE. Ook niet als ik direct naar die swf toe ga.
Nu zou het moeten werken!
Nope.
bedankt voor je geweldige hulp!! (Sarcasme)
Stefan Vermunt op 18/07/2010 22:52:53:
bedankt voor je geweldige hulp!! (Sarcasme)
Het werkt niet, klaar.