Vreemd gedrag firefox

Status
Niet open voor verdere reacties.

Glest

Gebruiker
Lid geworden
6 sep 2007
Berichten
688
Hoi hoi, het is weer eens tijd voor een vraag van mij.

Ik heb een site gemaakt, niks bijzonders, met een favicon, ook best wel standaard.
Code:
<link href="images/favicon.ico" rel="shortcut icon" type="image/x-icon" />

Alles werkt nu nog normaal, maar nu gaat de javascript draaien en uiteindelijk wordt de window.location.hash verandert. Oftewel, er wordt wat met #blablabla achter geplakt zodat er direct gelinkt kan worden naar de pagina zoals je hem ziet.

Maar zodra ik window.location.hash verander, verbergt firefox het favicon. Ik heb het getest, het licht echt aan dit stukje code:
Code:
  window.location.hash	= "mode="+mode.name
			+ (mode.req_year  ? "#year="+current_date.year : "")
			+ (mode.req_month ? "#month="+current_date.month : "")
			+ (mode.req_day   ? "#day="+current_date.day : "");
Het werkt precies zoals het hoort, maar firefox verbergt dus het favicon. Iemand enig idee hoe dit komt?

De site staat hier online (voorlopig) als je het zelf wilt testen. Misschien ligt het wel aan mijn firefox installatie.
http://www.gwauctions.org/weerstation/
 
Laatst bewerkt:
Idem in mijn FF-installatie.

Wel geeft FireBug volgende Error:
Code:
GET http://www.gwauctions.org/weerstation/data/2008-11-26.js?1227715110314        404 Not Found

Misschien is het zo dat een favicon slechts wordt ingeladen als je pagina volledig geladen is ofzo, wat niet het geval is door die 404? (wilde gok, maar je weet maar nooit)
 
HTML:
http://www.gwauctions.org/weerstation/data/2008-11-26.js?1227715110314

Ik heb zo m'n vraagtekens bij deze constructie?

Genereer je een random number achter je .js file zodat deze niet gecached wordt (wel gecached, maar steeds opnieuw opgehaald)?

Dan moet je wel een naam toevoegen voor die var, bijvoorbeeld:

HTML:
http://www.gwauctions.org/weerstation/data/2008-11-26.js?random=1227715110314

En heb je voor elke dag een aparte js file?
 
En heb je voor elke dag een aparte js file?
Ja, ik heb voor elke dag een apart JS bestand maar die worden met Ajax dynamisch ingeladen. Er worden dus alleen bestanden gedownload die nodig zijn. Het zijn alleen data bestanden (JSON).
/edit: En ook nog één bestand per maand en één bestand per jaar. Veel kleine bestanden dus, maar daardoor juist weinig data verkeer.

Ik heb zo m'n vraagtekens bij deze constructie?

Genereer je een random number achter je .js file zodat deze niet gecached wordt (wel gecached, maar steeds opnieuw opgehaald)?

Dan moet je wel een naam toevoegen voor die var, bijvoorbeeld:
Ja, de random nummers ((new Date()).getTime()) zijn om caching te voorkomen. Maar dat kun je ook uit zetten of "slim" laten gebeuren (een bestand hoort niet meer ge-update te worden als het de data van een datum in het verleden is, dus dan mag het gecached worden). Het is trouwens niet nodig om een naam te geven aan de variabele aangezien deze niet door een server-side applicatie gebruikt hoeft te worden. Inderdaad, een variable zonder een waarde wordt geloof ik niet door PHP opgemerkt, maar het gaat er alleen maar om dat de URL steeds veranderd zonder dat het naar een ander bestand wijst.

Ik had eerst een PHP bestand wat werkte als gateway voor de data bestanden (achter de schermen, met mod-rewrite) en de goede headers mee stuurde om caching te voorkomen. Ik kreeg alleen niet voor elkaar dat het juist wel gecached werdt wanneer ik dat wou dus heb ik tijdelijk voor deze oplossing gekozen. Maar ik ben nog aan het ontwikkelen dus ik zal die php gateway zeker nog af maken. Ik moet me alleen iets meer verdiepen in de verschillende cache headers van browsers.

Misschien is het zo dat een favicon slechts wordt ingeladen als je pagina volledig geladen is ofzo, wat niet het geval is door die 404? (wilde gok, maar je weet maar nooit)
De 404 fout is geen probleem, het is gewoon een onderdeel van de Ajax applicatie. Er worden dynamisch bestanden geladen, maarja, het zou kunnen dat ze nog niet bestaan. De data bestanden voor vandaag zijn nog niet up-geload omdat de server met het weerstation nog niet juist is geconfigureerd. Daardoor komt er een 404 error terug, maar die wordt netjes opgevangen door het XmlHttpRequest object.


Ik heb ondertussen het probleem opgelost trouwens. De url werdt meteen bij het laden van de pagina al veranderd door de hash sectie te updaten naar de huidige datum. Dit is zoiezo niet netjes voor de gebruiker dus nu wordt de link alleen ge-update als er een nieuwe dag, maand of jaar wordt geladen. Vreemd genoeg is het probleem hiermee vanzelf verdwenen :eek:

Bedankt in ieder geval voor jullie hulp. Als ik volgens jullie iets doe wat totaal verkeerd is, los van het favicon, ben ik daar altijd in geintereseerd :p

/edit:
Mochten jullie willen controleren of het inderdaad opgelost is, toets dan even ctrl+F5 om te voorkomen dat de pagina uit de cache wordt gehaald.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan